我已经使用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