存储"用户"的最佳方式是什么?可以在Angular应用程序中的所有控制器上访问的对象吗?
我还有一个功能,取得&设置用户。
选项1:$ rootScope
起初我只是设置$rootScope.user = myUser
。然后在每个控件中我都可以使用$ rootScope。这很好,直到我结束了很多重复的代码,因为我必须检查它是否存在于每个控制器的开头。
// At the start of each controller
if (!$rootScope.user) {
// fetch and set user
}
选项2:角度服务?
选项3:Angular工厂?
答案 0 :(得分:0)
我会在服务上使用工厂,或者使用$ rootScope。
正如Ed在下面指出的那样,服务和工厂都是单身人士。
$ rootScope,顾名思义是angularjs应用程序中所有作用域的根。
以下是供参考的内容:http://ilikekillnerds.com/2014/12/angularjs-service-vs-factory/
答案 1 :(得分:0)
如果您正在创建SPA而没有创建没有父级的范围,那么使用rootScope它将像魅力一样工作。