簡而言之,我試圖將指令中的數據集傳遞迴其父控制器。我已經看到了這方面的幾個細微差別,但是我錯過了一些東西,而我正在做的並不是很有效。我有一個接收來自父回調定義,像這樣一個指令:從角度指令調用父控制器
<my-directive my-list="myData" update-parent="parentCallback(newData)">
父控制器的回調是很簡單,但輸入的數據爲空:
$scope.parentCallback = function(newData) { /* when it gets here its null */ };
的定義指令是像這樣:
myModule.directive('myDirective', function() {
return {
restrict: 'E',
templateUrl: 'Template.html',
replace: true,
scope: { myData: '=', updateParent: '&' },
controller: function($scope, $element, $attrs) {...}
在該指令的控制器的選擇事件試圖通過回調像這樣推回數據:
$scope.updateSelection = function() {
/* here the data is good */
$scope.updateParent($scope.currentSelection);
};
當前選擇變量在指令的作用域中定義,並通過在下拉列表框中進行選擇來設置。發生的事情是,在上面的函數中,它調用父回調,發現它沒問題,傳遞好數據,但是當它到達父側時,參數爲空。我對此並不陌生,但我認爲'&'將爲我提供數據備份給父母。任何幫助將不勝感激!
莫非你請讓我知道如果我的答案解決了您的問題,如果確實如此,您能否接受答案?謝謝! – Josep 2014-09-25 23:38:00