我有两个指令,可以说:
angular.module('app').directive('directiveA', directiveA);
function directiveA(){
return {
restrict: 'E',
transclude: true,
scope: {},
templateUrl: 'directiveA.html',
controller: function($scope){
$scope.test="test data";
}
};
}
第二个:
angular.module('app').directive('directiveB', directiveB);
function directiveB(){
return {
restrict: 'E',
require: '^directiveA',
transclude: true,
scope: {},
templateUrl: 'directiveB.html',
link: function(scope, elem, attrs, directiveAController) {
console.log("directiveB linked");
}
};
}
指令 A 的 HTML:
<div>
<!-- something here -->
<div ng-transclude></div>
</div>
指令 B 的 HTML:
<div>{{test}}</div>
我想像这样使用它们:
<directive-a>
<directive-b></directive-b>
</directive-a>
如何使用 require 和 ng-transclude 使它们相互通信并渲染两个模板?例如,我想在directiveB 模板中从directiveA 打印测试变量。我是指令和嵌入的新手。