this.model angular 中的内部指令

this.model inside directives in angular

我对如何使用 this.model

查询 Angular 中的控制器模型有疑问

如果我有下一个控制器:

angular
.module("myApp", [])
.controller('myCtrl', myCtrl)
.directive('myDirective', myDirective);

function myCtrl(){
  var vm = this;

  //model
  vm.myModel = "whatever";
}

//my directive    
function myDirective(){
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {
       // here!
      // how can I acces to the myModel model if it was defined with 'this'
    }
  }
}

如果我的模型是这样的:

$scope.myModel

我可以在 myDirective 中使用 scope.myModel 读取它,但是使用 "this (vm.myModel)" 我该如何实现呢?

它作为范围参数传入。

scope.myModel

vm 语法的情况下,它成为作用域参数的另一层。例如:

scope.vm.myModel

您可以使用

获取指令的任何父控制器
angular.element.parent().controller();

这是一个有效的 fiddle。

http://jsfiddle.net/HB7LU/22226/

使用此代码,如果我将控制器中的 vm 更改为其他内容,则无需更改指令的代码。