Bob*_*ent 3 javascript arrays angularjs
我写了一小段代码,为数组添加名称.我得到的问题是,如果我尝试多次添加相同的名称,它将不允许我.尝试添加重复名称后,它也不会允许我使用任何其他名称.这是我的Angular代码
app.controller('DirectoryController', function($scope){
$scope.name='';
$scope.names= [];
$scope.addName = function(){
$scope.names.push($scope.name);
}
Run Code Online (Sandbox Code Playgroud)
});
这是我的HTML
<div ng-controller= "DirectoryController">
<h3>Name:</h3><input type="text" ng-model='name'>
<button ng-click = "addName()">Save</button>
<hr/>
<span ng-repeat="name in names">{{name}}<br/></span>
</div>
Run Code Online (Sandbox Code Playgroud)
尝试将您的范围更改为:
<span ng-repeat="name in names track by $index">{{name}}<br/></span>
Run Code Online (Sandbox Code Playgroud)
默认情况下,ng-repeat通过引用跟踪数组中的项目,并且重复的文字可以具有相同的标识.当数组中存在重复项时,默认行为将导致错误,这将导致您看到的行为(它无法添加副本,然后完全停止工作).
当遇到重复项时,您可能会在控制台中看到ng-repeat的错误.
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |