2017-05-18 2 views
0

Ich bin mir sicher, es ist ziemlich einfache Frage, aber ich kann keine Antwort finden. Ich benutze ziemlich gängige Muster zum Erstellen von Bäumen. Ich muss wissen, ob Benutzer auf Elternknoten oder Kindknoten klicken. Alles funktioniert gut, wenn ich auf den Elternknoten klicke. Wenn ich jedoch auf den untergeordneten Knoten klicke, ruft die Callback-Funktion zweimal auf - zuerst vom Kindknoten, dann vom Elternknoten. Kann mir jemand erklären warum? Vielen Dank.angular-ui-tree zwei ereignisse statt einer

<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> 

Antwort

0

Ich fand Lösung here. Der eckige u-Baum ist eine Folge von eingeschlossenen Elementen. Also sollte ich aufhören, das Event vom Kind-Element zum Eltern-Element zu propagieren.

Verwandte Themen