我有一个问题,我正在尝试使用ng-repeat在angularjs中显示一个数组,但它显示了整个JSON数组
这是我的数组
$scope.problems = [
{
problem: "problem1",
works: [
"a0",
"a9"
]
}
]
这是我要显示的地方
<li ng-repeat="works in problems | filter: searchCard">{{works}}</li>
现在{{works}}
标签在实时文档中显示了这一点:
{"problem":"probleem1","works":["a0","a9"]}
根据大多数教程,我看到的内容应该显示A0和A9而不是整个JSON系列。
我第二个可能完全不同的问题是,我如何正确显示文本,但也隐藏所有文本,直到一个人使用输入来搜索"作品"输入字段。
当您在ng-repeat上具有对象array 时,您必须选择该对象params;在此示例中,我们的对象参数为"问题" 和" works"
在我们的对象中,我们具有"字符串数组" 和字符串数组没有参数,因为我们在此示例{{work}}
中直接使用直接使用它。/p> <li ng-repeat="item in problems | filter: {problem: searchCard}">
{{item.problem}}
<ul>
<li ng-repeat="work in item.works">{{work}}</li>
</ul>
</li>
您可以使用@maher所述的嵌套ng重复。另外,为了隐藏数据直到键入searchCard
,您可以在嵌套ui
中使用ng-if
指令。
<li ng-repeat="item in problems | filter: searchCard">
{{item.problem}}
<ul ng-if="searchCard">
<li ng-repeat="work in item.works">{{work}}</li>
</ul>
</li>