2
是否有可能以某种方式在compile
函数中添加指令作为简单属性并让角度句柄编译添加指令?AngularJS:添加属性,编译指令
提供的示例波纹管显然不起作用,但我的正确问题是,实现该目标的最简洁方法是什么?
var app = angular.module('app', []);
app.directive('testOne', function ($compile) {
return {
restrict: 'A',
priority: 10000,
compile: function (element, attrs) {
element.attr('test-two', '');
}
};
});
app.directive('testTwo', function() {
return {
restrict: 'A',
priority: 10,
compile: function (element, attrs) {
console.log(2);
}
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div test-one></div>
</div>
好,所以这是最干净的方式:)我想知道如果我能以某种方式避免多个编译。谢谢! – Clem
另一个问题,如果你知道答案也许。我如何以编程方式更改元素的属性,以便另一个指令中的$ observe会触发?我尝试了attrs。$ set并且没有运气。 – Clem
如果指令没有主动监视属性表达式的更改,那么您运气不好。我会偷看到其他指令的源代码(如果它不是你的指令),看看是否有任何看着。 –