2016-03-03 7 views
0

angular-tree-view Я хочу динамически загружать содержимое файла, соответствующего выбранному листовому узлу. Из документации я не могу понять, как зарегистрировать обратный вызов для выбора листового узла. Есть ли какое-либо состояние для выбора листового узла, которое можно наблюдать?angular-ivh-treeview - зарегистрировать обратный вызов при выборе листового узла

ответ

2

ВКИ Treeview позволяет provide an expression быть запущен, когда выбран или не выбран узел пользователя:

<div ng-controller="MyCtrl as fancy"> 
    <div 
    ivh-treeview="fancy.bag" 
    ivh-treeview-on-cb-change="fancy.otherAwesomeCallback(ivhNode, ivhIsSelected, ivhTree)"> 
</div> 

Here's a full example. Если вы только хотели выполнить действие для листовых узлов, возможно, у вас есть otherAwesomeCallback, убедитесь, что ivhNode - это лист, прежде чем делать что-либо еще.

Если это не работает, вы можете рассмотреть возможность использования ivhTreeviewBfs для создания наблюдателей на листе узлов себя:

ivhTreeviewBfs(myTree, function(node) { 
    if(!node.children) { 
    $scope.$watch(function() { return node.selected; }, function() { 
     console.log('oh snap a leaf node changed!'); 
    }); 
    } 
}); 

Это непроверенных и не большая практика, я бы 100% Приклейте первое решение, если это возможно. Кроме того, помните, что если узел становится листом или перестает быть листом позже, вам тоже нужно будет это обработать. В зависимости от вашего варианта использования вы можете подумать о том, чтобы просто поставить обработчики изменений на флажки самостоятельно.

Короче говоря, хотя, ВКИ Treeview не имеет какой-либо конкретный

+0

Есть ли способ обработки кликов лаврового листа без флажков? –

+1

Конечно - вы хотите использовать шаблон узла (https://github.com/iVantage/angular-ivh-treeview/blob/master/docs/templates-and-skins.md). В шаблоне просто используйте ngClick как обычно, у вас будут помощники и переменные в области видимости, чтобы определить, нажимается ли лист. – jtrussell

+0

@jtrussell и как мне ссылаться на метод в моем контроллере на ngClick на шаблоне? – arielcr

Смежные вопросы