【问题标题】:Angular get parameter from JSON rootscope object从 JSON rootscope 对象角度获取参数
【发布时间】: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 语法吗?如果没有,它应该工作。提供一个复制问题的演示

标签: json angularjs laravel


【解决方案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?还是工厂?
  • 当前登录的用户是承认这种行为的少数例子之一,当我定义全局概念时,我实际上在我的应用程序上使用了这种方法。例如,当前登录的用户是可用的在应用程序的所有实例上,在范围内。最好保持根范围尽可能干净,以避免对模板的误解。只需保留全局概念即可。
猜你喜欢
  • 2021-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 2020-09-11
  • 2018-04-09
相关资源
最近更新 更多