删除元素后,AngularJS重新加载页面

时间:2014-10-30 21:00:41

标签: angularjs angularjs-scope angularjs-ng-repeat

我试图移除ngRepeat内的元素。它移除得很好,但在删除元素后,页面将被重新加载。如何防止此重新加载操作?

下面是代码:

<li ng-repeat="task in tasks">
    <p>{{task.title}}</p>
    <button ng-click="remove($index)">Click me</button>
</li>

js范围:

$scope.remove = function($index){
    $scope.tasks.splice($index, 1);
}

2 个答案:

答案 0 :(得分:4)

根据W3C规范,类型未定义,并且它假设提交。添加type='button'可以为您解决问题。

<li ng-repeat="task in tasks">
    <p>{{task.title}}</p>
    <button type="button" ng-click="remove($index)">Click me</button>
</li>

相关的specification,如果你很好奇。

答案 1 :(得分:1)

<button>表现得像submit(感谢@Antiga),我尝试将其更改为input[type=button],但仍无效。

我刚做了这个改变:

<button ng-click="remove($index)">Click me</button>

为:

<a ng-click="remove($index)">Click me</a>

它运作良好。