繁体   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