0
我遇到了我的代码问题,通过玩一点我找到了一个解决方案,但我不知道它为什么工作。事情是这样的:
// recompile all audio buttons
angular.element(textAsDom).find('sound-button').each(function(key, element) {
$compile(angular.element(element))(scope);
});
我有一个原始的HTML作为参数,和里面我正在寻找一个名为“soundButton”的指示和我编译它们以使用其连接的示波器功能和属性。
然而,我的第一个解决办法是做这样的:
// recompile all audio buttons
angular.element(textAsDom).find('sound-button').each(function(key, element) {
var compiledSound = $compile(angular.element(element))(scope);
angular.element(element).replaceWith(compiledSound);
});
所以我首先编译soundButton并将其链接到的范围和我所得到的一个绑定元素。然后我用绑定元素替换原始元素。但是,然后所有角度脏检查或事件处理程序不再工作。
至于现在我的问题已经解决,但是为了理解为什么它不起作用,我问你们是否可以解释一些关于这个深奥的东西的灯。
感谢
这已经是一个指令,但问题是我从数据库中获取rawHtml,因此我需要手动编译它。 – KayZee
好的,你有什么机会可以用小提琴来证明这一点? –
如果添加replace:true(就像我在编辑中做的那样)是否可以解决您的问题? –