加载文档后初始化ng-app

时间:2014-09-20 10:38:49

标签: javascript angularjs

我正在使用AngularJS。

其中一项(技术)要求是从服务器获取“已启用”的HTML内容,以响应点击事件,并通过JavaScript将其注入<div ng-app>

问题是新注入的HTML没有连线,因为只有在第一次加载页面时,Angular才会通过编译链接阶段。

有没有办法手动触发它们?
我是以错误的方式处理这个问题吗?有没有更惯用的方法来完成我所描述的内容?

由于

2 个答案:

答案 0 :(得分:2)

有多种方法可以将动态内容注入AngularJS中的视图。注入动态内容的方法之一是使用ng-include指令。它可以从一个端点获取视图。 您可以将其与ng-if结合使用,以实现点击时的加载视图。例如:

<span ng-if="clicked">
   <div ng-include='pathToTheHtml'></div>
</span>

首先clicked变量为false,点击按钮将其设置为true,这将触发ng-include获取内容并将其注入html。

如果你想要更好的控制,那么你需要使用$ compile服务。需要注入DOM的html需要使用$ compile服务进行编译并链接到作用域。这可以在指令中完成。

element.append($compile(htmlFragment)(scope)

答案 1 :(得分:1)