我试图相应地设置指令。
所以,让我说我有这样的意见:
<input type="foo" id="myinput" maskvalue> </input>
这适用于我的应用,问题是当我尝试插入&#34; maskvalue&#34;动态使用&#34; setAttribute&#34;它不起作用,这就是我现在正在尝试做的事情:
element = document.getElementById('myinput');
if(element){
element.setAttribute('maskvalue', "");
}
此代码将成功将我的指令插入dom元素,但不起作用。似乎不可能在dom已经加载时插入自定义指令,我错了吗?
但基本上问题是,如何将指令动态插入dom元素?
由于
答案 0 :(得分:3)
使用Angular的$compile
命令对Angular-ize进行此操作。基本上,您需要通知Angular您已做出改变,以便它可以发挥其魔力。
function MyController($scope, $compile) {
element = document.getElementById('myinput');
if (element) {
element.setAttribute('maskvalue', "");
$compile(element)($scope);
}
}
确保在注入了$compile
和$scope
的Angular控制器中执行此操作。