虽然以前有人问过这个问题,但它不适用于我。控制器变量“myVar”在链接函数被调用之前设置。根据文档和其他帖子,myVar应该在链接功能中可用,但事实并非如此。实际上,链接作用域包含一个父控制器引用,但没有引用它自己的控制器?有任何想法吗?AngularJS访问指令控制器变量的指令链接功能
angular.module('app.main')
.directive('myWidget', MyWidget)
.controller('MyWidgetCtrl', MyWidgetCtrl)
function MyWidget() {
return {
restrict: 'E',
templateUrl: 'my-widget-tmpl.html',
controller: MyWidgetCtrl,
link: function (scope, element, attrs) {
var test = false;
test = myVar; // doesn't work
test = scope.myVar; // doesn't work
test = scope.vm.myVar; // doesn't work
}
};
}
MyWidgetCtrl.$inject = ['$scope'];
function MyWidgetCtrl($scope) {
var vm = this;
vm.myVar= true;
}
是的,这对我工作,在编辑中使用你的建议,thx – nuander