[英]angularjs best practices - communication between directives without $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.