2017-07-25 61 views
0

我一直在工作了一段時間,讓我的應用程序在用戶下線時工作。我用$ http和templateCache來緩存我的模板,這很好。但是,我似乎無法以「良好」的方式解決的一個問題就是聯合體。 我已經緩存模板在uibmodal上的模板緩存

$http.get('tpl/modal.html', {cache:$templateCache}); 

,改變了控制器打開模式時,得到的緩存,而不是templateUrl模板。

templateUrl: 'tpl/modal.html' //before 
template: $templateCache.get('tpl/modal.html') //after 

這裏的問題是,我得到「狀態200」在我的模板上。並在底部「確定」。 這是最接近我的解決方案,我可以接受,即使我覺得這是一個「黑客」。這是一個更好的方式來做到這一點?如果不;我如何刪除當前解決方案中的狀態碼?

回答

0

根據docs如果模板已經被加載到$ templateCache中,那麼你不需要調整你的指令參數。您應該能夠使用現有的

templateUrl: 'tpl/modal.html' 

AngularJS會檢查它的第一個存在的模板緩存,如果它存在,從那裏成爲了起來,在網絡上加載它作爲一個回落。

我個人使用grunt plugin來編譯,縮小和預加載所有模板。當我實現這個時,我不需要改變任何關於我的退出指令/組件。

+0

好吧,正如我所說的,正常的模板加載正常。但是,模式給我錯誤。 錯誤:[$ compile:tpload]。這只是在模態部分.. – KimR