我無法搞清楚如何有一個指令一個指令不同的內觸發事件指令可與其他指令溝通
說我有以下2個指令
project.directive('ActionButton', function() {
return {
restrict: 'E',
scope: {
orderId: '@'
},
templateUrl: '/scripts/templates/directive-templates/order-action-button.html',
link: function (scope, element, attrs) {
scope.doAction = function() {
// I want to trigger 'scope.refreshOrderDetails' in my other directive from here
}
}
}
project.directive('OrderView', function() {
return {
restrict: 'E',
scope: {
orderId: '@'
},
templateUrl: '/scripts/templates/directive-templates/order-view.html',
link: function (scope, element, attrs) {
scope.refreshOrderDetails = function() {
// data is refreshed here
}
}
}
,而且我用我的指令,這樣
<ca-action-button order-id="{{orderId}}"></ca-order-action-button>
<ca-order-view order-id="{{orderId}}"></ca-order-details>
其中CA-訂單細節開始用數據填充,但是當CA階動作按鈕觸發事件需要刷新。
動作按鈕將被加載許多doAction(它是一個按鈕下拉多動作),並且會有一些不同的OrderView類型指令,每個指令都有自己的一組數據需要刷新不同的觸發器
好像你需要使用一個父控制器爲這兩個指令通過,而不是使用事件(這可以得到笨拙,尤其是當你擁有多套指令的頁面上) – Adam 2015-04-02 14:13:37