0

我有以下代码在页面加载时呈现

<div id="results">
 <%= render :partial => results %>
</div>

以下是部分结果的内容:

<input type="text" ng-model="Myname" placeholder="Enter a name here">  
<h1>Hello {{Myname}} </h1>

绑定正确发生并且工作正常。

现在,如果我jQuery("#results")用部分结果替换,那么内容将被替换,但指令不会被编译并且绑定也会被破坏。

在第一次加载页面时编译角度指令。但如果我们动态更改 HTML 内容,它就会中断。谁能帮我理解我在这里做错了什么。

4

1 回答 1

1

你是对的,编译是在页面加载时发生的。或者每当角度改变 DOM 中的某些东西时(通过诸如 ngRepeat 等指令)

当您手动更改 DOM 时,您需要做的就是在您更改的 DOM 元素上触发 $compile。只要做$compile(jQuery("#results")),绑定就可以了!在这里查看更多。

于 2012-12-04T10:18:07.130 回答