AngularJS数据绑定中断ngRepeat+奇怪行为
AngularJS Data Binding Breaks ngRepeat + Strange Behavior
背景:我是一名系统人员,后来转到前端开发。只是和Angular一起闲逛。在数据绑定方面很有创意,现在我正试图理解这种行为:
<div ng-app>
<div class="container">Name
<input type="text" ng-model="user.name">
</div>{{ user.name }}
<div class="container">Name
<input type="text" ng-model="user.name">
</div>
<ul ng-model="user.name">
<li ng-repeat="l in user.name">{{ l }}</li>
</ul>
</div>
http://jsfiddle.net/Lpm74dd8/
我希望这能从任何一个框中获取我的输入,在输入框之间镜像文本,并在底部自己的行中重复每个字母。
如果我在其中一个输入中键入"test",当一个字母重复时,ng repeat将中断。
按顺序键入字母表正如我所期望的那样。
当输入的字母重复时,为什么ng重复break?我对此没有实际用途,我只是为了好玩而尝试Angular,但遇到了这个问题,我不理解它。
ng repeat将不接受重复条目。由于test
有t
作为重复条目,它将失败。
添加track by
表达式可以避免这种情况。
当我们不提供任何track by
表达式时,条目(在本例中为每个字母)本身被视为一个唯一的标识符,用于将条目链接到列表以跟踪其中的更改。
<li ng-repeat="l in user.name track by $index">{{ l }}</li>
将track by $index
与ng repeat一起用于数组中的重复项。试试这把小提琴http://jsfiddle.net/1Lw11bqr/
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- 数据绑定:'系统Char'不包含名为'xxxxx'
- OnsenUI AngularJS数据绑定无法正常工作
- Ionic-item在导航栏中进行双向数据绑定
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- $http中的Angular 1数据绑定承诺不起作用
- 在何处和何时添加具有数据绑定的元素
- 使用AngularJs数据绑定的三元运算符显示图像
- 为什么针对工厂的Angular数据绑定只适用于函数
- 敲除:如何使用可见数据绑定可见来隐藏段落标记
- 在数据绑定中使用对象敲除绑定
- 如何在angularjs中检查Kendo树视图数据绑定事件
- 将json数据绑定到剑道网格
- AngularJS数据绑定中断ngRepeat+奇怪行为
- JavaScript HTMLElement 属性上的数据绑定 在 Polymer 中
- 视窗 8/Metro UI 数据绑定 JavaScript
- 挖空和显示模块模式的数据绑定问题