Javascript 角度ui树两个事件而不是一个

Javascript 角度ui树两个事件而不是一个,javascript,angularjs,angular-ui-tree,Javascript,Angularjs,Angular Ui Tree,我相信这是一个非常简单的问题,但我找不到答案。我使用非常常见的模式来创建树。我需要知道用户是单击父节点还是子节点。如果单击“父节点”,一切正常。但如果单击子节点,回调函数将调用两次—第一次从子节点调用,第二次从父节点调用。谁能解释一下为什么?多谢各位 <div id="groups-tree" class="col-sm-4"> <script type="text/ng-template" id="nodes_renderer.html"> &l

我相信这是一个非常简单的问题,但我找不到答案。我使用非常常见的模式来创建树。我需要知道用户是单击父节点还是子节点。如果单击“父节点”,一切正常。但如果单击子节点,回调函数将调用两次—第一次从子节点调用,第二次从父节点调用。谁能解释一下为什么?多谢各位

<div id="groups-tree" class="col-sm-4">
    <script type="text/ng-template" id="nodes_renderer.html">
        <div ui-tree-handle class="tree-node tree-node-content">
            <a class="btn btn-success btn-xs" ng-if="node.nodes && node.nodes.length > 0"
               ng-click="selected(node)" data-nodrag>
                <span class="glyphicon"
                      ng-class="{
    'glyphicon-chevron-right': collapsed,
    'glyphicon-chevron-down': !collapsed
}"></span>
            </a>
            {{node.title}}
        </div>
        <ol ui-tree-nodes="" ng-model="node.nodes" ng-class="{hidden: collapsed}">
            <li ng-repeat="node in node.nodes" ui-tree-node ng-include="'nodes_renderer.html'"
                ng-click="selected(node)"*@ data-nodrag>
            </li>
        </ol>
    </script>
    <div class="row">
        <div class="col-sm-6">
            <div ui-tree id="tree-root">
                <ol ui-tree-nodes ng-model="data" data-nodrag>
                    <li ng-repeat="node in data" ui-tree-node ng-include="'nodes_renderer.html'"
                        ng-click="selected(node)"></li>
                </ol>
            </div>
        </div>
    </div>
</div>

{{node.title}
  • 我找到了解决方案。角度ui树是封闭元素的序列。所以我应该停止将事件从子元素传播到父元素