Angular.js ng-repeat数组显示为json

时间:2017-05-31 13:29:11

标签: javascript jquery angularjs arrays json

我有一个问题,我试图使用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;输入字段。

2 个答案:

答案 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>