如何在$ scope中存储$ rootscope变量的值?

时间:2016-06-26 08:46:59

标签: angularjs angularjs-scope angularjs-rootscope

是否可以在范围内使用罗盘望远镜? 如果是,那么如何?

例如,我想在范围的sub_menu属性中设置$ rootScope.user_name的值。

var app = angular.module('myApp', []).run(function ($rootScope) {$rootScope.user_name = "A to Z Traders";$rootScope.user_role="Admin";});

app.controller('headerCtrl', function($scope) {
    $scope.menu=[
        {menu_name : "Seller's Name", menu_id: "user", sub_menu:[{$rootScope.user_name}, "Profile", "Add Brand Owner", "Logout"]}
    ];

});

1 个答案:

答案 0 :(得分:1)

当然可以。

只需将$ rootScope注入控制器,然后从中获取值

app.controller('headerCtrl', ['$scope', '$rootScope', function($scope, $rootScope) { 
$scope.menu=[ {menu_name : "Seller's Name", menu_id: "user", sub_menu:[{$rootScope.user_name}, "Profile", "Add Brand Owner", "Logout"]} ];
    }]);

但这是使用服务的更好解决方案,您将存储数据和功能

您还必须阅读有关范围继承的信息