如何从其他状态获取数据angular ui router

时间:2016-09-30 04:22:03

标签: angularjs angular-ui-router

我正在尝试隐藏,根据每个州的数据角色显示菜单

.state('index.admin1', {
    url: "/admin1",
    templateUrl: "views/admin1.html",
    data: {
        pageTitle: 'Admin view',
        roles: ['admin']
    },
})

但我不知道如何获取所有州的数据并检查角色的价值,并使用ng-if显示隐藏每个具有其角色的菜单。是否有检查所有状态数据的解决方案?

1 个答案:

答案 0 :(得分:-1)

如果您使用的是ui-router 0.2.11,之后您可以执行此类操作。

   $stateProvider
   .state('index.admin1', {
        url: "/admin1",,
        templateUrl: "views/admin1.html",
        params: {pageTitle:null, roles:null},
    })

当您导航到其他状态时,您可以传递您想要的数据

$state.go('index.admin1', { pageTitle: 'title', roles: ['admin'] })

进入index.admin1状态后,您可以访问此类数据

app.controller('overviewController', function($scope, $stateParams) {
    $scope.pageTitle= $stateParams.pageTitle;
    $scope.roles= $stateParams.roles;
});

看看here