0

非常新的 Angular 并且非常困惑如何使用 $destroy 方法来删​​除 API 文档中提到的元素:

http://docs.angularjs.org/api/ng .$rootScope.Scope

这是我尝试过的 HTML:

<div ng-controller="TodosController">
    <div class="tasks" ng-show="todos">
        <ul ng-repeat="todo in todos">
            <li>              
                    <button ng-click="todos.$destroy(todo)">Delete</button>
                    <b>{{todo.name}}</b>                
            </li>
        </ul>
    </div>
</div>

和 JS:

var myApp = angular.module('myApp', []);

function TodosController($scope) {
    $scope.todos = [{
        name: "Learn angular",
        estimate: 8,
        done: true},
    {
        name: "Install java",
        estimate: 2,
        done: false},
    {
        name: 'Uninstall ruby',
        estimate: 3,
        done: false}];
}

这是我上面的小提琴:http: //jsfiddle.net/5Mzda/26/

在旧版本的 Angular 中,可以使用 $remove 方法删除元素。

<script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.9.16/angular-0.9.16.js"></script>

<div ng:controller="TodosController">
    <div class="tasks" ng:show="todos">
        <ul ng:repeat="todo in todos">
            <li>              
                <div ng:controller="TodoEditorController">
                    <button ng:click="todos.remove(todo)">Delete</button>
                        <b>{{todo.name}}</b>
                </div>

            </li>
        </ul>
    </div>
</div>

以上在这个小提琴中工作:

http://jsfiddle.net/bpTXe/195/

但是,在更高版本的 Angular 中使用$destroy()$remove()remove()不起作用。有什么建议么?

4

1 回答 1

6

$destroy 用于销毁 $scopes。

array.$remove 已在版本0.10.6 bubblewrap-cape (2012-01-17)中删除

您可以使用 array.splice:

<button ng-click="todos.splice(key,1)">Delete</button>
于 2013-03-19T09:52:08.907 回答