2016-01-20 50 views
2

我试图谷歌下面的问题,但没有出现(这是超级不可思议我需要)。在浏览器中的角度应用程序寿命

什么是浏览器中的Agular应用程序生命周期?

或者当用户打开一个Angular网站时,应用程序实例在浏览器中一直保留,直到用户离开网站或关闭浏览器或者?

在单独的说明是最好使用服务来保存全局变量(例如记录的用户名)或$ rootScope?

谢谢!

+1

如果可能的话,您的两个问题应该被分解为单独的帖子。 –

回答

3

什么是浏览器中的Agular应用程序生命周期?

当特定的标签/网站打开时,角度应用仍然存在。如果你离开它然后回到它,为了所有的意图和目的,这是一个新的应用程序实例。你可以模仿一个持续的会话,但是这需要你自定义实现。

这里是应用程序上的刷新,你可能有兴趣在保存数据后 - AngualrJS: sustaining data on html refresh

在单独的说明是它更好地使用服务保持全局变量(如登录的用户名称)还是$ rootScope?

这是有据可查的,你可以在SO和Internet上找到无数来源,但最好使用角度服务在各种控制器之间共享数据。如果可以避免的话,建议不要污染$ rootScope。

这里是同样的问题问及SO的解决方案:

1

如果使用角度的路由或其他方式来加载意见不重新加载页面,那么角度应用程序将保持活动状态,直到您离开页面(关闭或刷新)。
每次通过角及其控制器的数据加载一个页面是在它的初始状态,这样当你改变页面(除非你坚持它的地方,这是)到控制器的数据的任何修改都会迷路

关于你提到的第二个问题,最好的方法应该是在每次更改页面后获取用户数据(以检查用户是否仍然登录。保存用户的数据客户端而不检查其是否仍然有效可能是安全问题)。但无论如何,服务是比使用rootScope更好的存储数据的方式

相关问题