我只是在点击
后尝试注入指令我写了这个函数:
控制器:
$scope.test = function(event){
event.currentTarget.setAttributeNode( document.createAttribute('my-directive') );
}
HTML:
<md-button class="md-fab md-primary" ng-click="test($event)"> ... </md-button>
我的功能有效,点击后,我在DOM中看到:
<md-button class="md-fab md-primary" ng-click="test($event)" my-directive> ... </md-button>
但我的指示仍无效。
(我的指令只有一个简单的警告)
我意识到我应该使用$compile
让它发挥作用
但我不知道如何
答案 0 :(得分:2)
虽然您可以在单击后使用p
添加指令,但更好的方法是最初添加指令并让它响应click事件。
例如:
$compile
答案 1 :(得分:1)
您必须使用控制器的范围进行编译。
event.currentTarget.setAttributeNode(document.createAttribute('my-directive'));
$compile(event.currentTarget)($scope); // Compile using the scope