簡體   English   中英

指令的角度調用控制器功能

[英]Angular call controller function from directive

我用這個花哨的選擇離子http://codepen.io/mhartington/pen/CImqyhttp://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM