雖然以前有人問過這個問題,但它不適用於我。控制器變量「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