我怀疑如何使用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读取它,但是使用"这个(vm.myModel)"我怎样才能做到这一点?
答案 0 :(得分:1)
它作为范围参数传入。
scope.myModel
在vm
语法的情况下,它成为范围参数的另一层。例如:
scope.vm.myModel
答案 1 :(得分:1)
您可以使用
获取指令的任何父控制器angular.element.parent().controller();
这是一个工作小提琴。
http://jsfiddle.net/HB7LU/22226/
使用此代码,如果我将控制器中的vm更改为其他内容,我不需要更改指令的代码。