我将尝试在这里尽可能缩短我的问题描述。
我有一个指令,如下所示
scope: false
restrict: "A"
link: function (scope, element, attributes) {
...
}
输入参数element
如下所示
<div class="tab-container" my-directive>
<div ng-repeat="tab in $ctrl.tabs" class="tab">
<a ng-href="{{tab.name}}">
</div>
</div>
ng-repeat
已经"解决"了,不确定这是否是正确的术语,但是ng-href
尚未解决,也就是说,它没有{{tab.name}}
到我需要的值。
我想知道在首先解决ng-href
之后,我如何告诉该指令运行链接。
我读了一些关于require
财产的信息,但它似乎只处理controller
。
我想知道在 ng-href 之后,我如何告诉这个指令运行链接 首先解决。
您可以将$broadcast事件从控制器发送到指令。
$rootScope.$broadcast('onHrefReady');
在您的指令中:
link : function (scope, element, attributes) {
scope.$on("onHrefReady", function (event, args) {
// do your stuff
});
}
渲染后调用link
,因此您可以在收到控制器的通知后调用link
内容