我有一个带有属性指令的控制器,该指令需要它的控制器父代的ngModel。

参见此Plunkr

问题

尽管正确加载了表单,但伪指令中的日志显示如下:

a.$…t.aa {$attr: Object, $$element: R[1], fieldValidator: "", boundModel: "person", ngModel: undefined}


知道为什么ngModel未定义以及boundModel包含字符串“ person”吗?我一直在盯着这个...

最佳答案

尝试这个

app.directive('fieldValidator', [function(){
  return {
    restrict: 'A',
    scope: {
      boundModel: '='
    },
    controller: function($scope){

    },
    link: function ($scope, $elem, $attrs) {
      console.log($scope.boundModel);
    }
  }
}]);


就像其他人说的那样,在此指令中没有ng-model。
boundModel: '='boundModel: '=boundModel'的缩写

如果要访问boundModel,则只需使用$ scope.boundModel忽略$ attr中显示的内容,即可猜测不是您所需要的。

关于javascript - AngularJS:将ngModel从 Controller 传递到指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32454359/

10-13 07:34