2016-12-07 63 views
1

有一個jQuery語句, var zTree = $ .fn.zTree.getZTreeObj(「treediv」); 現在,我想在angularjs中調用它,如何在angularjs中實現它?謝謝你的幫助。

<div id="treediv"> 
<ul tree id="tree" class="ztree" ng-model="selectNode" /> 
</div> 

var zTree = $.fn.zTree.getZTreeObj("treediv"); 
var changedNodes = zTree.getChangeCheckedNodes() 
+0

如果jQuery是可用的,棱角分明。元素是jQuery函數的別名。 –

+0

「有我的Vanilla js聲明:'renderTree();'如何用jQuery實現它?」 - 你的問題看起來一樣。通常情況下,不可能說如何去做。如果你需要在沒有任何數據綁定的情況下調用 - 然後按原樣調用它。 –

+0

您可以爲您的全局可訪問zTree庫創建一些提供程序,例如角度爲[$ window](https://github.com/angular/angular.js/blob/master/src/ng/window.js ) –

回答

1

您可以使用jQuery裏角(指令是最好的地方)。但目前看來,功能由第三方lib中添加,以便確保您有一個註冊在全球排名jQuery後:

app.directive('myDirective', ['$scope', function(scope) { 
    function link(scope, element, attrs) { 
     scope.doSomething = function() { 
     var zTree = $.fn.zTree.getZTreeObj("treediv"); 
     var changedNodes = zTree.getChangeCheckedNodes(); 
     } 
    } 

    return { 
    link: link 
    }; 
}]); 

而在你的HTML:

<div id="treediv"> 
    <ul tree id="tree" class="ztree" my-directive ng-click="doSomething()" ng-model="selectNode" /> 
</div> 
+0

之前被加載爲什麼他被拒絕...? – btinoco

+0

@Yaser Adel Mehraban,謝謝,這是工作。 – Mike

+0

@btinoco這些日子有些人很緊張:) – Yaser