link to a short version of my batch file 我们可以添加新子节点及其子节点的链接,只能从父节点删除子节点。
我正在尝试删除所有子节点以及同一删除按钮中的当前节点。 (所有子节点都已成功删除,但我无法从列表中删除当前节点。)
我如何通过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: []}];
}]);
任何人都可以帮忙。
答案 0 :(得分:2)
要删除当前节点,您需要将其从父节点中删除,因此您需要在数据中存储对父节点的引用
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