2017-07-15 55 views
0

混淆了Angularjs應用何時引導,然後所有代碼js文件(控制器,服務等)和html(控制器模板)在渲染任何頁面之前首先加載,或者根據延遲加載之類的請求加載。Angularjs:所有代碼(html,js)最初加載或根據請求加載

根據我所有的JavaScript代碼獲取加載和模板基於請求呈現。請糾正我。並且如果路由實現或者不執行,也可以清楚回答這個改變。

回答

1

在Angular 1應用程序中,所有JavaScript都會立即加載。沒有立即調用的函數中的代碼稍後運行。但是仍然會立即解析所有代碼。

當頁面上的DOM被激活時,控制器代碼被異步執行。例如通過ng-if(而不是ng-show)。同樣適用於link回調。以下是執行順序的詳細說明: Practical Guide to PreLink, PostLink and Controller Methods of Angular Directives

DOM異步和動態更改。

+0

對於不同路線的html文件呢,是根據請求加載還是初始加載呢? –

+1

不同的路線停留在同一頁面上,只能通過JavaScript加載。它全部是異步的。所有的JavaScript總是最初加載,但最初沒有執行。 – ideaboxer

+0

好的,得到了​​你的觀點,所以無論初始化應用程序的JavaScript代碼是否被執行,其他控制器(如果存在)都會被加載但未執行,並且只有在請求(切換到)時纔會檢索控制器的模板。 –

相關問題