打電話給你的指令,在你宣佈你的控制器
,只是從你的指令,將數據傳遞到您的控制器中使用
這樣您就可以訪問你的控制器相同的呈現模板的指令數據的功能你的HTML模板
指令
.directive('myDir', function() {
return {
'restrict': 'AE',
'templateUrl': '/directive_page.html',
'scope': {
'col': '=',
'onSelect': '='
}
}
'link': function() {
// use onselect method here to use values
}
}
控制器
.controller('myController', function() {
$scope.setValueFromDirective = function (value) {
// write your logic to fetch data
};
});
HTML
<div data-my-dir="" col="//pass value you want in directive" data-on-select='setValueFromDirective(value)'>
</div>
我希望這將有助於你
我給多一點背景。該指令是一個表格指令,用於顯示數據。我傳遞的函數是一個行樣式函數,用於樣式行。全局變量是來自我的控制器的其他樣式規則,對於指令的每次使用都是不同的。如果我使用這種服務,我的代碼將不會被組織,因爲我們需要爲每個表創建一個樣式函數。 (這意味着我將一個函數從我的模塊中分離出來,轉移到一個更全局的組件上,將來可能會造成升級時的混亂 - 就我所見而言) – Amit