我有一個指令,我正在使用跨多頁進行相同的搜索過濾。所以這個指令將會使用一個服務並且對代碼非常重視。因爲我想鏈接到一個控制器,而不是有指令內的控制器是這樣的:將指令屬性傳遞給鏈接的控制器?
.directive('searchDirective', function($rootScope) {
return {
restrict: 'E',
templateUrl:'searchtemplate.html',
controller: 'searchCtrl',
controllerAs: 'search'
};
});
我也想訪問模板中父範圍的數據,所以我不希望使用隔離範圍。
無論如何,這是我不知道該怎麼做。我的指令看起來像這樣:
<search-directive filter="foo"/>
如何傳遞值的篩選器屬性,這樣我可以在我的控制器使用$ scope.filter或this.filter訪問它?
如果我正在使用一個隔離的範圍,它會很簡單。如果我在同一頁面中有控制器,我可以使用$ attrs。但由於我從另一個地方使用控制器,不想要一個孤立的範圍,我不知道如何獲得attrs值到控制器。
有什麼建議嗎?
這個工作沒有我需要創建一個孤立的範圍。謝謝! –