tomcat上的angularJS问题 – 应用程序在page / controller-change上重新启动

对于我本地的angularJS开发,我正在使用nodeJS。 如果我在tomcat服务器上部署我的angularJS项目,它基本上工作,但是,我使用不同的页面和不同的控制器,每次我点击另一个页面,似乎整个应用程序重新启动,因为Rootcope丢失,它启动的程序部分只能在应用程序启动时启动。

有谁能告诉我这里怎么了? 为什么我的应用程序不能100%正确运行在tomcat上?

我正在使用tomcat 7.0.34

我不熟悉Tomcat,但是我们也遇到了和Apache相同的问题。 由于Angular需要执行应用程序本身的路由,因此必须告诉Web服务器始终提供根HTML页面,例如index.html

这样做后,你的应用程序应该工作正常。

我假设你说different page你的字面意思是不同的HTML页面(url)。这是预期的行为。 AngularJS是一个单页面应用程序(SPA)框架。 与其他SPA一样,当您执行整页加载\重新加载或导航到另一页时,它将被重新初始化。

这是由于HTTP的无状态本质。 每个页面都是一个独立的请求,启动客户端页面生命周期。

要正确使用AngularJS作为SPA,您需要有一个主页面。 这个页面的内容通过子视图\ partials(再次页面)获得alter \ appendix。 AngularJS也劫持浏览器urlchnanges,这样不会导致整个页面重新加载URL的变化。

看看使用AngularJS创build的示例应用程序来了解它是如何工作的。