【发布时间】:2017-10-17 16:08:03
【问题描述】:
我正在使用jstree,我想为每个节点添加一组操作按钮,如下所示:
<span class="action-button-container">
<md-button class="md-icon-button" aria-label="Nouveau" ng-click="createNode($event)">
<md-icon class="material-icons">add_circle</md-icon>
</md-button>
<md-button class="md-icon-button" aria-label="Modifier" ng-click="renameNode($event)">
<md-icon class="material-icons">edit</md-icon>
</md-button>
<md-button class="md-icon-button" aria-label="Supprimer" ng-click="removeNode($event)">
<md-icon class="material-icons">delete_circle</md-icon>
</md-button>
</span>
所以我所做的是在我创建的指令中,它包装了 jstree,我迭代节点并将这些操作按钮与节点的文本连接起来:
value.map(function(node){
node.text = node.text + addActionButtons();
return node;
});
addActionButtons() 将简单地返回上面的操作按钮字符串。
所以在这种情况下,jstree 将在a 标签内添加操作按钮,如下所示:
<a class="jstree-anchor" href="#" tabindex="-1" id="ajson1_anchor">
<i class="jstree-icon jstree-themeicon" role="presentation"></i>Label 1
<span class="action-button-container">
<md-button class="md-icon-button" aria-label="Nouveau" ng-click="createNode($event)">
<md-icon class="material-icons">add_circle</md-icon>
</md-button>
<md-button class="md-icon-button" aria-label="Modifier" ng-click="renameNode($event)">
<md-icon class="material-icons">edit</md-icon>
</md-button>
<md-button class="md-icon-button" aria-label="Supprimer" ng-click="removeNode($event)">
<md-icon class="material-icons">delete_circle</md-icon>
</md-button>
</span>
</a>
我在这里面临的问题是,当我单击某个操作按钮时,它不会触发 ng-click。
我该如何解决这个问题?
更新:
当我尝试使用onclick="alert('test')" 时,它起作用了,所以问题只在于ng-click,我想我必须这样做:
node.text = node.text + $compile(addActionButtons())(scope);
但这会在我的节点前添加一个字符串[Object object],而不是操作按钮。
【问题讨论】:
标签: javascript angularjs jstree