我想使用带有点符号的AngularJS interpolation binding。
<div ng-repeat="item in items">
<input type="checkbox" ng-model="form.city.{{item.region}}.enabled">
</div>
ng-model
给了我错误。我做错了什么?
答案 0 :(得分:3)
ng-model值被视为角度expression,因此无需使用大括号。
ng-model="form.city[item.region].enabled"
应该可以正常使用。
答案 1 :(得分:0)
来自文档:
为什么混合插值和表达式是不好的做法:
- 它增加了标记的复杂性
- 无法保证它适用于每个指令,因为插值本身就是一个指令。如果另一个指令在插值运行之前访问属性数据,它将获得原始插值标记而不是数据。
- 它会影响性能,因为插值会为范围添加另一个观察者。
- 由于不推荐使用,我们不对此进行测试,对AngularJS核心的更改可能会破坏您的代码。
— AngularJS Developer Guide - mixing interpolation and expressions