繁体   English   中英

AngularJS使用$ rootscope的最佳实践?

[英]AngularJS Best practices to use $rootscope?

我是angular的初学者,我尝试做一下本教程( http://sahatyalkabov.com/create-a-tv-show-tracker-using-angularjs-nodejs-and-mongodb/

我使用John Papa的最佳做法。 因此,我不使用$ scope而是一个变量。 var vm = this; 在我的控制器和ui路由器上。

但是在本教程中,他一时使用$ rootScope。 我已经看到这是不好的做法,但有时您必须使用。

在本教程中,如果没有$ rootScope,是否还有其他选择?

谢谢 !

我迅速检查了链接,并注意到$ rootScope用于保存currentUser属性。 对于服务和工厂来说,这种情况会更好,尽管诱惑很强烈,但我尽量不使用$ rootScope。

没错,使用$rootScope不是一个好习惯。

据我了解,在本教程中,他使用$rootScope仅用于在login存储currentUser (并在logout删除)。 而已。

而且这种情况很容易实现,根本不用$rootScope 它将需要更多的代码,但这并不困难。

如果您可以编写更多代码并使您不使用不良做法进行编码,则可以执行以下操作:

您可以创建一个单独的服务:

angular.module('MyApp')
       .service('UserKeeper', function($) {
           var userKeeper = {
               currentUser:{}
           };

           return userKeeper;
        });

然后只需将此服务注入您的Auth工厂中,并将您的用户保存在currentUser属性中,而不是将其保存在$rootScope

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM