2014-09-20 84 views
0

我正在使用AngularJS。加载文档后初始化ng-app

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

的问题是,新注入的HTML没有连线,如角穿过编译链接只有阶段时,页面加载的第一次。

有没有办法手动触发它们?
我以错误的方式接近这个问题吗?有没有一种更习惯的方式来完成我所描述的?

感谢

回答

2

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

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

clicked变量将是假的第一,在点击按钮将其设置为true,这将触发ng-include获取内容,并将其注入到HTML。

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

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