[英]Angular call controller function from directive
我用這個花哨的選擇離子http://codepen.io/mhartington/pen/CImqy ( http://jsfiddle.net/q62jx3s6/單選擇!),我想,當點擊從選項目執行功能getCat從MainCtrl
$scope.getCat = function(cat) { ..... }
誰能幫我 ?! 請)並且我也嘗試了這個示例,但是對我不起作用( Angular:使用&調用指令鏈接函數內的控制器函數 )
您可以在MainCtrl的范圍內定義一個函數,並在單擊任何選項時調用該函數。
$scope.getCat = function() { //your code for getCat function }
因此,在配置選項(或國家/地區)時,您將需要使用onclick屬性或ng-click進行配置,如下所示:
onclick = "getCat()" or ng-click="getCat()"
希望能幫助到你!
我嘗試使用$ scope。$ watch並為我工作。 但我會等待正確的答案
$scope.$watch('val', function() { if($scope.val.single != null) $scope.getCat($scope.val.single); }, true);
為什么不將'getCat'函數從控制器移至服務,然后將服務注入到指令中呢?
從指令中調用控制器功能不是最佳解決方案,因為指令與控制器緊密耦合。
參考您的評論:
也許您可能在指令中需要控制器,然后將其注入到該指令中的鏈接函數
當指令需要控制器時,它將接收該控制器作為其鏈接函數的第四個參數。
這里描述了這個主題:“創建可通信的指令”部分中的Angular指令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.