简而言之,我试图将指令中的数据集传递回其父控制器。我已经看到了这方面的几个细微差别,但是我错过了一些东西,而我正在做的并不是很有效。我有一个接收来自父回调定义,像这样一个指令:从角度指令调用父控制器
<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