Fiddle 我们可以添加新子节点的链接,它们的子节点也只能从父节点中删除子节点。
我试图从同一个删除按钮删除所有子节点和当前节点。 (已成功删除所有子节点,但无法从列表中删除当前节点。)
我如何通过 Angular Js 做到这一点。
angular.module("myApp", []).
controller("TreeController", ['$scope', function($scope) {
$scope.delete = function(data) {
data.nodes = [];
};
$scope.add = function(data) {
var post = data.nodes.length + 1;
var newName = data.name + '-' + post;
data.nodes.push({name: newName,nodes: []});
};
$scope.tree = [{name: "Node", nodes: []}];
}]);
谁能帮忙。
最佳答案
要同时删除当前节点,您需要将其从父节点中删除,因此您需要在数据中存储对父节点的引用
data.nodes.push({name: newName,nodes: [], parent: data});
然后在delete()中,你可以访问父节点并删除自身:
$scope.delete = function(data) {
var index = data.parent.nodes.indexOf(data);
if(index > -1) {
data.parent.nodes.splice(index, 1);
}
};
已更新 jsfiddle
关于javascript - 从列表 : AngularJs 中删除当前节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963690/