私は以下の指示構造を持っています。ここ次のディレクティブ構造の下でどのように兄弟がスコープを共有しているか
<test-widget-body>
<test-task-list-filter>
</test-task-list-filter>
<test-task-list>
<test-datatable config="dtConfig" columns="dtColumns" api="dtApi"></test-datatable>
</test-task-list>
</test-widget-body>
各ディレクティブである:
テストデータテーブル
angular.module('testDatatable').directive('testDatatable', function() {
var directive = {
controller: 'testDatatableController',
restrict: 'E',
replace: true,
scope: {
config: '=',
columns: '=',
api: '=',
},
link: lnkFunction,
template: '<table class="table"></table>',
};
return directive;
}
testTaskList
angular.module('testTask').directive('testTaskList', function() {
return {
transclude: true,
restrict: 'E',
controller: 'testListController',
controllerAs: 'vm',
templateUrl: '/app/test/directives/test-list/test-list.html',
link: {
pre: preLink
}
};
function preLink(){
var dtColumns = [{
----
}];
var dtConfig =[];
var dtApi =[];
}
}
testTaskListFilter
angular.module('testWidgetGrid').directive('testWidgetBody', function() {
return {
templateUrl: 'test.html',
link: function ($scope, element) {
}
}
angular.module('testTask').directive('testTaskListFilter', function() {
return {
restrict: 'E',
controller: 'testListFilterController',
templateUrl: '/app/test/directives/test-list/test-list-filter.html'
};
});
testWidgetBodyは、ここで私はtestListFilterController
コントローラ内部でdtConfig
dtColumns
dtApi
オブジェクトにアクセスすることができますよ。 <test-task-list-filter>
と<test-task-list>
はどのようにして兄弟ですか? 誰でもこのシナリオで何が起こっているのか説明できますか?
注:ディレクティブレンダリング中にクリック操作を行わないと、そのオブジェクトにアクセスできます。