我有以下在加载页面时呈现的代码
<div id="results">
<%= render :partial => results %>
</div>
以下是结果的内容部分:
<input type="text" ng-model="Myname" placeholder="Enter a name here">
<h1>Hello {{Myname}} </h1>
绑定正常发生并且完美无缺。
现在,如果我用结果partial替换jQuery("#results")
,那么内容将被替换,但指令不会被编译,绑定也会被破坏。
编译角度指令在第一次加载页面时发生。但如果我们动态更改HTML内容,那么它就会中断。任何人都可以帮我理解我在这里做错了什么。
答案 0 :(得分:1)
你是对的,编译是在加载页面时发生的。或者每当角度改变DOM中的某些内容时(通过诸如ngRepeat之类的指令等)。
当您手动更改DOM时,您需要做的就是在您更改的DOM元素上触发$ compile。只需$compile(jQuery("#results"))
,绑定就可以了!查看更多here。