我搜索了很多,我尝试了组合:使用transclusion,使用$ compile,优先级......但没有。我希望,你的经历对我有所帮助。
我有一个select指令/元素的属性指令。我想在后台进行一些操作时更改默认文本或默认选项,例如加载selectvíaAPI请求的内容。好吧,我可以更改某些属性如select或者没有任何问题,但是当我尝试访问(只包含默认占位符或选项)的内容时,我遇到了问题,因为我没有编译HTML。
这是我的元素,其中“background”属性指令试图控制默认选项:
< select ng-model =“test”ng-options =“v v for v in ['one','two']”background =“isLoading”>
< option value =“”> NotBinded:{{'hello world'|大写}}< /选项>
< /选择>
注意这是两部分:普通文本和绑定文本。
这是指令:
角
.module( '应用程序')
.directive('background',function(){
返回{
限制:'A',
转录:false,
link:function(scope,element,attrs){
//这打印:NotBinded:{{'hello world'|大写}}
//总之:它没有编译
的console.log(element.children()。文本())
}
}
});
我需要存储选项的初始文本(带有文本编译),以便在进程结束时恢复它,因为我将用一些“加载文本”替换临时文件。
plunker中的示例:http://plnkr.co/edit/ox2rJgudoFEfrrHyJIX1?p = preview(注意:我发现在plunker中console.log()是空的。在正常项目中输出是正确的。我不知道为什么)
非常感谢你!