【发布时间】:2015-09-15 03:43:45
【问题描述】:
我目前有一个使用父控制器范围内的属性的指令:
.controller('MainCtrl', function($scope) {
$scope.name = 'My Name';
})
.directive('myDirective', function() {
return {
scope: true,
controller: function($scope) {
console.log($scope.name); // logs 'My Name'
}
};
})
现在我在控制器中使用controllerAs 语法,但我不知道如何在指令的控制器中获取对控制器对象的引用。
.controller('MainCtrl', function() {
var vm = this;
vm.name = 'My Name';
})
.directive('myDirective', function() {
return {
scope: true,
controller: function($scope) {
console.log(vm.name); // logs 'Undefined'
}
};
})
a plunkr 说明了这个问题。
我还发现 this article 试图解释类似的东西,但在这种情况下,他只是重复使用完全相同的控制器。
【问题讨论】:
标签: javascript angularjs angularjs-directive angularjs-scope