tomcat上的angularJS问题 - 应用程序重新启动页面/控制器 - 更改

时间:2013-09-03 11:09:26

标签: node.js tomcat angularjs

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

有谁能告诉我这里出了什么问题? 为什么我的应用程序在tomcat上运行时没有100%正确?

我正在使用tomcat 7.0.34

2 个答案:

答案 0 :(得分:1)

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

完成后,您的应用应该可以正常工作。

答案 1 :(得分:1)

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

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

要将AngularJS正确用作SPA,您需要有一个主页面。这些页面的内容由子视图\部分(再次页面)改变\附加。 AngularJS还劫持了浏览器URL chnanges,因此这不会导致URL更改时的整页重新加载。

查看使用AngularJS创建的一些示例应用程序,以了解它的工作原理。