我正在尝试从指令模板中的 $rootScope
访问变量。但是,我无法访问它。
简化模板:
<div class="item">
{{ serverRoot }}
</div>
指令:
ItemModule.directive('item', [function ($rootScope) {
return {
restrict: 'E',
scope: {
item: '='
},
templateUrl: 'js/modules/items/directives/templates/item.html',
link: function (scope, iElement, iAttrs) {
}
};
}])
如何访问变量 $rootScope.serverRoot
?
最佳答案
你已经为你的指令定义了一个新的范围
scope: {
item: '='
},
因此它不会成为您的链接 -> 范围或 Controller -> 范围的一部分。您应该可以通过
访问它link: function (scope, iElement, iAttrs) {
scope.serverRoot = $rootScope.serverRoot;
}
此外,您的实际指令声明需要看起来像
ItemModule.directive('item', [ '$rootScope', function ($rootScope) {
关于javascript - 指令模板中的 $rootScope 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24309630/