0
我已经在选择div时将活动类设置为div,但现在我想在选择新的div时删除先前的活动类。从选择新div的前一个div中删除活动类
但在这里我没有得到如何从先前选定的div中删除活动类。
源代码生成树状结构:http://jsfiddle.net/brendanowen/uXbn6/8/
模板:
<table ng-repeat="data in tree track by $index">
<tbody>
<div ng-click="setDivActive(data)" ng-class="{'active': data.selected}"></div> //This div will be selected
</tbody>
</table>
<script type="text/ng-template" id="tree_item_renderer.html">
<button ng-click="add(data)">Add node</button>
<table ng-repeat="data in data.nodes" id="tree_item_renderer.html">
<tbody>
<div ng-click="setDivActive(data)" ng-class="{'active': data.selected}"></div> //This div will be selected
</tbody>
</table>
</script>
控制器:
$scope.tree = [{name: "Node", nodes: [],selected:false}];
$scope.addNode = function (data) {
var post = data.nodes.length + 1;
var newName = data.name + '-' + post;
data.nodes.push({ name: newName, nodes: [],selected:false });
};
$scope.setDivActive= function (data) {
data.selected = true;
};
它不工作的嵌套结构。 –
我真的不明白你的嵌套结构应该如何工作,但你需要做一个递归函数,然后 –
更新我的答案是嵌套结构的递归,你可能需要调整它,因为我真的不知道如何你的树结构应该看起来 –