让我们说我有一个这样的自定义指令应用于div:
<div my-custom-component></div>
在我的控制器中,我想定义一个这样的函数:
$scope.onAfterMyCustomComponentInit(){
// Do something only once after the component is inited.
}
如何在我的控制器中获得上述方法?
答案 0 :(得分:0)
您可以将控制器功能传递给属性&amp;的指令。一旦调用了指令链接函数,就可以触发从属性传递的函数。在从属性传递之前,您需要在范围&
的隔离范围内使用范围变量名称scope: { callback: '&' }
<强>标记强>
<div my-custom-component callback="myFunction()"></div>
<强>指令强>
app.directive('myCustomComponent', function(){
return {
scope: {
callback: '&'
},
restrict: 'A',
link: function(scope, element, attrs){
//directive has initalized
scope.callback(); //call controller method.
}
}
})