如何将对象属性别名为ng repeat中的变量
How to alias object property as variable in ng-repeat
我在一个对象数组上重复,我希望循环中的变量只引用每个对象的一个属性。
简化数据示例:
var data = [
{
'name': {
'first': 'John',
'last': 'Johnson'
}
'age': 45
},
{
'name': {
'first': 'Larry',
'last': 'Wilson'
}
'age': 45
}
]
我可以做:
<div ng-repeat="person in data">{{ person.name.first }}</div>
但我更愿意做的是只关注我正在使用的对象的唯一部分,并做这样的事情:
<div ng-repeat="person.name in data as name">{{ name.first }}</div>
但这似乎不起作用——目前这可能吗?
您可以使用ng-init
:
<div ng-repeat="person in data" ng-init="name=person.name">{{ name.first }}</div>
https://docs.angularjs.org/api/ng/directive/ngInit
小心使用"ng-init"技巧。这将把"name"变量绑定到"person"对象,而不是为您可能需要的数据[$index].name表达式创建实际别名。
// Init model.
data['fooPerson'] = {name: {first:"foo"}, age:64}
$timeout(function(){
data['fooPerson'] = {name: {first: "bar"}, age:51}
}, 1000);
// Result after ~1 second:
// {{ name.first }} --> still "foo";
相关文章:
- ng init中的表达式无法使用ng repeat
- Angular ng repeat order将多个字段作为一个字段
- 访问ng repeat中的第一个项目
- Angular js+ng repeat+字母数字索引不起作用
- 如何正确应用Angularjs ng repeat
- AngularJS Navigation (li ng-repeat, create header li), DOM
- 如何使用ng repeat中的选定输入更新我的对象
- 无法使用ng repeat检索动态创建的JSON对象的属性
- 使用 ng-repeat访问 ng 表单元素/值
- 在Angular JS中,预先填充ng中的下拉值repeat
- Toggle Switch在包含ng model和ng repeat之后不进行切换
- 想要将ng个repeat对象传递给自定义筛选函数
- 如何从 ng-repeat(ng-repeat)中的指令访问控制器范围
- ng-repeat / ng-bind 不会显示我的数据
- 具有 ng-repeat(ng-repeat)中动态字段名称的自定义指令
- 如何在使用 ng-repeat(ng-repeat)时获取元素的正确高度和偏移值
- AngularJS ng-repeat ng-show array in object
- 将动态值绑定到 ng-repeat(ng-repeat)内的进度条
- 通过ng-repeat, ng-model和复选框获取数组中的位置
- AngularJS ng-repeat ng-click