在Angularjs中的指令之间传递回调
当仅从页面模板(带有控制器)传递回调时,将正确解释如何使用JSON对象的值格式化指令模板中回调的用法,如下所示:在Angularjs中的指令之间传递回调,angularjs,angularjs-directive,Angularjs,Angularjs Directive,当仅从页面模板(带有控制器)传递回调时,将正确解释如何使用JSON对象的值格式化指令模板中回调的用法,如下所示: <a data-ng-click="callback({image: url})"></a> <another-directive data-ng-click="callback()"></another-directive> <another-directive data-ng-click="callback({image:
<a data-ng-click="callback({image: url})"></a>
<another-directive data-ng-click="callback()"></another-directive>
<another-directive data-ng-click="callback({image: url})"></another-directive>
但是,如果该指令只是将回调传递给另一个指令,会发生什么情况。它是否应该像这样通过回调:
<a data-ng-click="callback({image: url})"></a>
<another-directive data-ng-click="callback()"></another-directive>
<another-directive data-ng-click="callback({image: url})"></another-directive>
或者它应该传递相同的对象格式,如下所示:
<a data-ng-click="callback({image: url})"></a>
<another-directive data-ng-click="callback()"></another-directive>
<another-directive data-ng-click="callback({image: url})"></another-directive>
还是另一种选择?现在,这些方法中没有一种对我有效。我想我理解你想要实现的目标,所以我将举一个例子 您有一个控制器(
myController
),该控制器调用一个指令(myDirective
),该指令调用另一个指令(anotherDirective
),您希望将一个“回调”函数从myController
传递到myDirective
。以下是您如何做到这一点:
angular
.module('myApp',[])
.controller('myController',['$scope',函数($scope){
$scope.foo=函数(参数){
警报('此函数在主控制器上声明,但从几级指令调用。参数:'+param);
};
}])
.directive('myDirective',function(){
返回{
模板:`
我的指令
`,
范围:{
myFunction:“&”
}
}
})
.directive('anotherDirective',function(){
返回{
模板:`
另一个指令
点击我
`,
范围:{
回调:'&'
}
}
});代码>
很高兴我能帮忙!