4

我有很多模板 html 页面,其中包括 js 代码。当我的 RouteProvider 加载此模板之一时,JS 不会执行。我不想使用评估。我可以在外部 .js 文件中编写代码并使用 requireJS,但我不知道如何使用 requireJS 停用“未使用”的 js 文件。你能告诉我如何在我加载的模板页面上执行我的 JS 代码吗?

4

1 回答 1

2

在当前版本(1.0.4 和 1.1.2)中,AngularJS不会templateUrl执行通过(或template)指定的部分中包含的任何 JavaScript 代码。

目前,您最好的选择是预先加载大部分代码。人们正在试验 requireJS,在 SO 和邮件列表上有很多关于它的问题。但事实是——虽然可以为控制器和部分加载按需加载——但通常按需加载并没有得到很好的支持(有关更多信息,请参阅如何在 AngularJS 中减轻模块化?)。实际上,这可能不是问题,因为使用 AngularJS 编写的代码往往非常非常简洁,因此预先加载内容不会对性能产生不利影响(相反,因为所有代码都在浏览器中没有与按需负载相关的延迟)。

按需加载是 AngularJS 2.0 的一个功能。

于 2013-02-03T20:15:06.677 回答