我有一个拼接数组的问题:
我正在显示我的数组:
Email:<input type="text" ng-model="newcontact"/>
<button ng-click="add(newcontact)">Add</button>
<h2>Contacts</h2>
<ul id="todo-list">
<li ng-repeat="contact in contacts">
<a href="#">{{contact.libelle}}</a>
<a href="#" ng-click="del($index)">del</a>
</li>
</ul>
我的控制器是:
angular.module('angulartestApp')
.controller('MainCtrl', function ($scope,$log) {
var $scope.contacts = [{libelle:'test'},{libelle:'test2'}];
$scope.add = function(newcontact) {
$scope.contacts.push({libelle:newcontact});
$scope.newcontact = '';
};
$scope.del = function (idx){
$scope.contacts.splice(idx, 1);
for (var i=0;i<$scope.contacts.length;i++)
{
$log.info($scope.contacts[i].libelle+',');
}
};
});
如果我添加两个项目(&#39; a&#39;和&#39; b&#39;),我的视图会在列表中显示好项目(&#39; test&#39;,&#39; ; test2&#39;,&#39; a&#39;&#39; b&#39;)。
如果我删除&#39; a&#39; item,我的视图仅显示列表中的两个初始项目(&#39; test&#39;,&#39; test2&#39;)。 但是在控制台中一切都很好,测试&#39;测试2&#39;和&#39; b&#39;得到很好的展示。
我不明白为什么。如果有人能告诉我这样做的好方法......
谢谢。
答案 0 :(得分:0)
单击del链接时是否重新加载页面?尝试使用按钮而不是验证。这也可能有所帮助:
href causes unintended page reload with Angularjs and Twitter Bootstrap