簡體   English   中英

Angular綁定指令的參數傳遞給控制器

[英]Angular binding directive's parameters to controller

我在綁定指令的參數時遇到麻煩(使用隔離范圍),無法從指令的自定義控制器訪問它們。

請檢查此小提琴(打開控制台,查看記錄的結果!) http://jsfiddle.net/xj9gqqxn/4/

<div ng-controller="appCtr">
  <div>
    <div custom-directive param="customer.name">
    <span>{{customer.name}}</span>
    <br/>
    <input type="text" ng-model="customer.name"/>
    </div>
  </div>
</div>

當我在指令的鏈接函數中登錄時,該值會被一致地記錄,但是當我在控制器的構造函數中執行相同的操作時,我會將該值視為未定義。

如果有人知道如何在指令控制器的構造函數中訪問指令的參數值,請分享答案或我犯錯的地方..對我來說很可悲,我沒有任何線索...

謝謝

那么您的控制器具有與指令相同的作用域,因此可以正常工作:

app.controller('customController', ['$scope', '$timeout' , function($scope,$timeout) {
    console.log("[customController:new] -  param value is: " + $scope.param);
}])

http://jsfiddle.net/pegla/xj9gqqxn/6/

另外,如果您要搜索bindToController,那么指令$ scope值綁定到控制器而不是$ scope,則可以執行以下操作:

bindToController: {
            param: '='
        },

更新的小提琴: http : //jsfiddle.net/pegla/xj9gqqxn/8/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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