【问题标题】:List with ng-if in angular.js在 angular.js 中使用 ng-if 列出
【发布时间】:2015-05-21 11:03:07
【问题描述】:

我正在尝试在 angular.js 中使用 ng-if。我有一个 json 文件:

"data":[{
   "status":"true",
   "name":"blabla",
   "group":true,
   "group_id":"123gr",
   "id":"xx1"
},{
   "status":"true",
   "name":"blabla2",
   "group":false,
   "id":"123gr",
   "group_id":"null"
}]

我尝试从这个 JSON 中获取所有组的列表(JSON 中的组必须设置为 true),然后列出组的元素。所以我想要一个看起来像这样的列表:

  • 组:blabla2。
    • 元素 1:废话。状态:真


我试图以这种方式仅列出一个组名..:

<ul>
   <div ng-repeat="resp in response.data">
        <li ng-if="{{resp.group}} === 'false'">
          Group: {{resp.name}}
        </li>
    </div>
</ul>

不幸的是,它不起作用。你知道我做错了什么吗?

感谢您的帮助,

卢克

【问题讨论】:

  • ng-if 表达式不需要解析,您的 group 属性是布尔值,而不是字符串。尔格~ng-if="resp.group"
  • 不幸的是它不起作用..
  • 已更新,立即尝试。当resp.groupfalse 时,我以为你想要它
  • 不幸的是,我仍然得到一个包含 2 个元素的列表:blabla2 和 blabla
  • 试试 ng-if="{{resp.group}}"

标签: json angularjs angular-ng-if


【解决方案1】:

或者,如果您不需要它们,可以通过将它们从 ng-repeat 中过滤掉来完全删除它们

<ul>
    <li ng-repeat="resp in response.data | filter: {group: true}">
        Group: {{resp.name}}
    </li>
</ul>

【讨论】:

  • 不适合&lt;div&gt;,只需将ng-repeat 放在&lt;li&gt;
【解决方案2】:

这样使用

<ul>
    <div ng-repeat="resp in response.data">
        <li ng-if="!resp.group">
            Group: {{resp.name}}
        </li>
    </div>
</ul>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2017-02-17
    • 2018-03-02
    相关资源
    最近更新 更多