从 JSON rootscope 对象角度获取参数
Posted
技术标签:
【中文标题】从 JSON rootscope 对象角度获取参数【英文标题】:Angular get parameter from JSON rootscope object 【发布时间】:2015-11-15 20:17:27 【问题描述】:在角度我有一个这样的 rootscope 对象:
"id":12,"email":"testmail@test.com","given_name":"John","family_name":"Doe","car":"BMW"
如何单独访问每个参数?
现在我只是这样做
currentUser
在做
currentUser.email
显然不起作用。我猜这个 JSON 对象有问题?
谢谢
【问题讨论】:
它应该可以工作..但你应该使用$rootScope
来共享数据..去维修或工厂
您使用的是controllerAs
语法吗?如果没有,它应该工作。提供一个复制问题的演示
【参考方案1】:
你的 json 对象有什么问题,检查这种方式在 rootScope 上设置数据。也许对你有帮助。
angular.module('app', [])
.factory('currentUser', [
function ()
return
"id": 12,
"email": "testmail@test.com",
"given_name": "John",
"family_name": "Doe",
"car": "BMW"
;
])
.run([
'$rootScope', 'currentUser', function ($rootScope, currentUser)
$rootScope.currentUser = currentUser;
]);
然后您可以在模板上调用 currentUser.email
,在代码上调用 $scope.currentUser.email。
您可以更新注入$rootScope
的控制器上的数据。
【讨论】:
嗨,我已经通过使用工厂解决了我的问题。但是更好的做法是什么?要使用 rootScope?还是工厂? 当前登录的用户是承认这种行为的少数例子之一,当我定义全局概念时,我实际上在我的应用程序上使用了这种方法。例如,当前登录的用户是可用的在应用程序的所有实例上,在范围内。最好保持根范围尽可能干净,以避免对模板的误解。只需保留全局概念即可。以上是关于从 JSON rootscope 对象角度获取参数的主要内容,如果未能解决你的问题,请参考以下文章
使用角度js将具有相同ID的重复对象从json数据合并为单个对象