2015-08-21 69 views
1

的角度我有这样一个rootscope对象:GET参数

{"id":12,"email":"[email protected]","given_name":"John","family_name":"Doe","car":"BMW"} 

我怎么能单独存取权限每个参数?

现在我只是做

{{ currentUser }} 

而且做

{{ currentUser.email }} 

显然是行不通的。我猜这个JSON对象有什么问题吗?

谢谢

+0

它应该工作..但你应该使用'$ rootScope'来共享数据..去服务或工厂 –

+0

你是否使用'controllerAs'语法?如果不是,它应该工作。提供一个复制问题的演示 – charlietfl

回答

1

有什么不对您的JSON对象,检查这种方式设置在rootScope数据。也许对你有帮助。

angular.module('app', []) 
.factory('currentUser', [ 
    function() { 
     return { 
      "id": 12, 
      "email": "[email protected]", 
      "given_name": "John", 
      "family_name": "Doe", 
      "car": "BMW" 
     }; 
    }]) 
.run([ 
    '$rootScope', 'currentUser', function ($rootScope, currentUser) { 
     $rootScope.currentUser = currentUser; 
    } 
]); 

再后来,你可以对代码模板和$ scope.currentUser.email调用{{ currentUser.email }}

您可以更新控制器注入数据$rootScope

+0

嗨,我已经通过使用工厂解决了我的问题。但是,更好的做法是什么?要使用rootScope?还是工厂? – user3634184

+0

当前登录的用户是承认这种行为的几个例子之一,当我定义全局概念时,我实际上在我的应用程序中使用了这种方法。例如,当前登录的用户可以在应用程序的所有实例上使用,在自己的范围内。最好保持根范围尽可能干净以避免模板上的误解。只要保留全局概念即可。 – chfumero