状态控制器具有以下变量:
vm.stateControllerVariable = 1;
州模板具有以下指令:
<div directive-aleluia></div>
指令-laluia模板:
<div directive-arebaba></div>
指令 - arebaba模板:
<span>{{ vm.stateControllerVariable }}</span>
<!-- How can I show the grand parent controller variable here? -->
答案 0 :(得分:0)
要从父作用域继承数据,该指令不能具有孤立的作用域,2指令的值必须为true或false。
如果您需要指令中的隔离范围,则应传递
vm.stateControllerVariable
作为孤立范围内的参数。
答案 1 :(得分:0)
这样的事情:
将祖父母(控制器)变量传递到子和孙指令
中的隔离范围 var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.stateControllerVariable = 'Hello State';
});
app.directive('directiveAleluia', function(){
return {
scope: {
someVar: '='
},
template: '<div directive-arebaba some-var="someVar"></div>'
};
});
app.directive('directiveArebaba', function(){
return {
scope: {
someVar: '='
},
template: '<span>{{ someVar }}</span>'
};
});
HTML
<div directive-aleluia some-var="stateControllerVariable"></div>
工作plunkr:http://plnkr.co/edit/HZwD3sQZ5kJUAoFRujbW?p=preview