如何在控制器中初始化自定义指令时收到通知

时间:2015-10-29 19:12:32

标签: angularjs angularjs-directive

让我们说我有一个这样的自定义指令应用于div:

<div my-custom-component></div>

在我的控制器中,我想定义一个这样的函数:

$scope.onAfterMyCustomComponentInit(){
         // Do something only once after the component is inited.
}

如何在我的控制器中获得上述方法?

1 个答案:

答案 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.
     }
  }

})