javascript - Angular.js ng-repeat 带条件

标签 javascript angularjs

我正在使用 ng-repeat 来迭代键/值数组。如果键=='First Name'我想将它绑定(bind)到firstName。我是 angular.js 的新手,可能有更好的方法吗?基本上我有一个键/值数组,我想用其中的一些键做一些事情。

<ul id="customers" infinite-scroll='loadMoreUsers()'>
        <li ng-repeat="user in users" data-customer-id="{{user.Id}}">

               <h4>{{user.firstName}} {{user.lastName}}</h4>

            <div ng-repeat="(key, value) in user.AttributeBag">
                <span ng-if="key == 'First Name'">{{user.firstName = value}}</span>
                <span ng-if="key == 'Last Name'">{{user.lastName = value}}</span></span>

                <span ng-if="key != 'First Name' && key != 'Last Name'">{{key}} : {{value}}</span>
            </div>
        </li>
    </ul>

最佳答案

ng-if 创建它自己的子作用域,这就是为什么您无法访问key

我能想到的两种方法

  1. 使用 ng-show 而不是 ng-ifng-show 不会创建自己的作用域。
  2. 使用 $parent 访问父作用域。但是,您在 ng-repeat 中使用了 user.AttributeBag 的抽象,因此需要进行一些调整。

关于javascript - Angular.js ng-repeat 带条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318285/

相关文章:

javascript - 比较两个 map 并在 javascript 中将键添加到一个 map

javascript - 关闭? Eloquent JavaScript

javascript - 如何在循环外获取日期差异?

javascript - AngularJs指令嵌入错误和@绑定(bind)

javascript - 如何使用Jquery显示JSON内容

javascript - ES6 : How do I unravel inner arrays and flatten the JSON array?

javascript - 如何解析和求和逗号分隔的数字字符串

javascript - Angular Protractor : Execute Scripts in Browser Context

ajax - 拦截器和 transformResponse 之间的确切区别是什么?

javascript - Firefox 中不向服务器发送 ajax 请求