我已經使用angular js和routeProvider創建了一個webapp。我不加載NG-視圖中的諧音,但我劫持了routParam改變,它會導致創建自己的對象,指明哪些應用程序的一部分是活躍見下圖:添加刪除控制器時AngularJS瀏覽器內存不斷攀升
lrApp.config(function ($routeProvider) {
$routeProvider
.when('/',{
redirectTo:'/share'
})
.when('/:action',{
controller: "viewController",
template: ' '
})
.when('/:action/:section',{
controller: "viewController",
template: ' '
})
.when('/:action/:section/:subsection',{
controller: "viewController",
template: ' '
})
.otherwise({
redirectTo:'/'
});
});
空的空間模板,幷包括空在你的身體觸發routeParams改變之後我打電話的viewController其中包括對身體和包括全球訪問對象即NG秀=「url.section ==‘接觸’」
所以我用這個全局對象爲ng-show或ng-switch或ui - 如果應用程序的某些部分適用於適當位置。這也使我能夠創建3個級別的深層鏈接。
我爲包含一個空對象的應用程序的每個主要部分創建一個工廠,然後將每個控制器的增長數據存儲在一個工廠內,以便當通過ng-switch重新加載控制器時,數據仍然那裏,我沒有再得到它...
我的問題/問題
這是要保存我的數據的適當方法?或者我應該將它與cacheFactory耦合並將該對象存儲在緩存工廠中,然後在控制器中返回緩存工廠?
將數據存儲在cacheFactory中,並將數據存儲在工廠中並將其存儲在控制器之外,這有什麼區別......我很困惑?
當我這樣做,並使用ng-switch切換到不同的部分時,信息從DOM中取出,當我切換回數據時,由於它仍然保存在工廠中,但它顯示的內存對於我在Chrome中的選項卡,每次切換回來時都會越來越高,即使我沒有加載任何新數據......我做錯了什麼?
這是我如何建立自己的應用程序一個粗略的樣本... test app I built