Angularjs 如何使用PhoneGap缓存角度视图?

Angularjs 如何使用PhoneGap缓存角度视图?,angularjs,cordova,caching,Angularjs,Cordova,Caching,我完全相信使用angular的好处,并且有一个混合应用程序(使用PhoneGap),我将转换(从Jquery Mobile)但我在想如何将我的新代码添加到应用程序时遇到了问题 该应用程序目前托管在我们的网站上(不是本地设备),因此正常的缓存工作正常。我更新一个网页或js,应用程序就会看到新内容(因为底层的webview/浏览器知道它的新内容) 但是使用angular的SPA方法,主模块会提前加载,并根据加载的新部分更改视图。也不是问题 但是,当我更改我的应用程序模块(由ng app=“demo”

我完全相信使用angular的好处,并且有一个混合应用程序(使用PhoneGap),我将转换(从Jquery Mobile)但我在想如何将我的新代码添加到应用程序时遇到了问题

该应用程序目前托管在我们的网站上(不是本地设备),因此正常的缓存工作正常。我更新一个网页或js,应用程序就会看到新内容(因为底层的webview/浏览器知道它的新内容)

但是使用angular的SPA方法,主模块会提前加载,并根据加载的新部分更改视图。也不是问题

但是,当我更改我的应用程序模块(由ng app=“demo”加载的代码)时会发生什么?例如添加新管线、控制器或视图

既然它已经在引导时加载到浏览器中,我如何告诉应用程序有变化,它需要重新加载整个应用程序

有3个用例需要考虑:

1) 在PC/浏览器上,您只需刷新页面即可。我不能指望用户知道该怎么做,但也没那么糟糕,因为用户可能会打开和关闭浏览器,从而重新加载新的app/js

2) 当我发布一个新的PhoneGap应用程序(到应用商店)时,它会在安装过程中强制关闭/重新打开浏览器,因此用户将获得新代码

3) 这才是真正的坚持者。在正常使用PhoneGap应用程序期间,用户可以打开该应用程序,并且不再关闭它(仅暂停并重新打开)。他们不是精通技术的用户,甚至可能不知道如何重新启动应用程序——更不用说意识到他们应该尝试了

那么,当基础应用程序模块发生更改时,强制应用程序刷新的方式是什么呢

或者我自己创建某种类型的版本检查系统,以便在需要时强制重载()

对我来说,这似乎是一种常见的情况,但我在使用angular进行缓存时发现的一切都表明了这一点:

因为您可能希望维护视图、分区或其他路由的浏览器缓存

不,我不想-我想取消我的应用程序/视图/控制器的缓存,因为我知道它已更改


angular phonegap cache buster

您可以在每次使用时动态加载/卸载控制器。应该开始了。

你不能设置一个版本号和服务来定期检查更新吗?这就是我的意思:“或者我自己创建某种类型的版本检查系统,以便在需要时强制重新加载()。”我正在尝试确定是否有真正的方法来执行此操作。对我来说,这似乎是一个常见的问题——我认为每个angular应用程序都必须在某个时候更新。我的情况更复杂的是,这是一个PhoneGap应用程序,用户不能只点击刷新。管理更新完全取决于你和你的应用程序。对我来说似乎是一个小问题“管理好更新完全取决于你和你的应用程序。”我不同意,我不必担心普通的js和html——angular增加了这个负担。不管多么琐碎,还有一件事我以前不必做。为什么会有这个问题?如果任何页面无限期地打开,问题是相同的,在视图主题上,您应该能够通过以下技术禁用templateCache:谢谢!这就是我要找的。我看过他的很多东西,不知道我怎么会错过那一个。