2013-02-03 66 views
4

我有很多模板html頁面,其中包括js代碼。當我的RouteProvider加載其中一個模板時,JS不會執行。 我不想使用eval。 我可以在外部.js文件中編寫我的代碼並使用requireJS,但我不知道如何使用requireJS停用我的「未使用」js文件。 你能告訴我如何在我加載的模板頁面上執行我的JS代碼?AngularJS模板。內部JS不執行

+0

在'angular'之前加入'JQuery'解決了這個問題。 –

回答

2

在當前版本(1.0.4和1.1.2)AngularJS將執行包含在經由templateUrl(或template)規定的局部任何JavaScript代碼。

目前,您最好的選擇是預先加載大部分代碼。人們正在嘗試requireJS,並且在SO和郵件列表上有很多關於它的問題。但事實是,雖然可以爲控制器和部分進行按需加載,但一般按需加載並不能很好地支持(有關更多信息,請參見How is modularity mitigated in AngularJS?)。實際上,這可能不是問題,因爲使用AngularJS編寫的代碼往往非常簡潔,所以預先加載前的內容不會產生不良的性能影響(相反,因爲所有代碼都在瀏覽器中,沒有與按需加載相關的延遲)。

按需加載是作爲AngularJS 2.0的一部分工作的一項功能。