2015-06-09 66 views
0

我正試圖通過調用視圖回調中提供的指令將資源從指令範圍公開給控制器範圍。 但是參數變量是undefined。我錯過了什麼?將指令傳遞給控制器​​

這裏有一個小提琴例如:https://jsfiddle.net/xqknpe5d/

查看

<div on-my-event="doStuff(foo)"></div> 

指令

App.directive('myDirective', ['$whateverModule', function($module) { 
    return { 
    restrict: 'A', 
    scope: { 
     onMyEvent: '&' 
    }, 
    link: function(scope, element, attrs) {   
     (scope.onMyEvent) && (scope.onMyEvent('moo'));   
    } 
    }; 
}]); 

控制器

ctrls.controller('myController', ['$scope', function($scope) { 
    $scope.doStuff = function(foo) { 
    console.log('moo: ', foo); 
    }; 
}]); 

欣賞你的幫助這樣

回答

2

呼叫功能onMyEvent在你的指令你的鏈接功能。您必須發送帶有參數名稱('foo')的對象作爲關鍵字,並將'moo'作爲值發送。

link: function(scope, element, attrs) {   
     (scope.onMyEvent) && (scope.onMyEvent({foo: 'moo'}));   
    } 

Read more about & binding here

+0

非常感謝 – kidwon

相關問題