根据localstorage angular ui router的值显示/隐藏导航项



我有一个类似的模块

  function config(msNavigationServiceProvider)
    {
        // Navigation
        msNavigationServiceProvider.saveItem('apps', {
            title : 'APPS',
            group : true,
            weight: 1
        });
        msNavigationServiceProvider.saveItem('apps.dashboards', {
            title : 'Dashboards',
            icon  : 'icon-tile-four',
            weight: 1
        });
    }

其中msNavigationServiceProvider是作为核心包一部分的提供者。问题是,我想根据本地存储中的值在导航栏上隐藏Apps项,但在config()提供程序错误中无法访问$localStorage。我对此进行了研究,发现这是不可能的。

那个么我该怎么做才能从导航中隐藏项目呢。我不想接触核心软件包,但我也不能在代码中使用本地存储。

如有任何帮助,将不胜感激

您可以在msNavigationService 中使用隐藏属性

hidden: function ()
        {
            return boolean; // must be a boolean value
        }

示例:

// Apps.Dashboards
msNavigationService.saveItem('apps.dashboards', {
    title : 'Dashboards',
    icon  : 'icon-tile-four',
    class : 'navigation-dashboards',
    hidden: function ()
    {
        return AuthService.isAdmin; // must be a boolean value
    },
    weight: 1
});

相关内容

  • 没有找到相关文章

最新更新