我有一个问题,我试图使用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线。
我可能完全不同的第二个问题是,如何才能正确显示文本,同时隐藏所有文本,直到某人使用输入搜索&#34;工作&#34;输入字段。
答案 0 :(得分:3)
当您在ng-repeat上有对象数组时,您必须选择该对象参数;在此示例中,我们的对象参数是&#34;问题&#34; 和&#34;工作&#34;
同样在我们的对象中,我们有&#34;字符串数组&#34; 和字符串数组没有参数,因为我们在此示例中使用直接 {{1是字符串数组的对象。
{{work}}
答案 1 :(得分:0)
你可以使用@Maher提到的嵌套ng-repeats。另外,为了在键入searchCard
之前隐藏数据,您可以在嵌套ng-if
中使用ui
指令。
<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>