非常に新しい 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/
ただし、$destroy()
、$remove()
、およびを使用すると、remove()
新しいバージョンの Angular では機能しません。助言がありますか?