Vue.js VueJS SideMenuBar组件
我正在使用中的SideMenuBar为我的应用程序生成一个侧菜单。根据用户是否登录,栏中的元素应该是动态的。我的问题是,当我登录时,这些项目不是反应性的——我需要刷新浏览器以刷新菜单。知道我做错了什么吗Vue.js VueJS SideMenuBar组件,vue.js,vuejs2,Vue.js,Vuejs2,我正在使用中的SideMenuBar为我的应用程序生成一个侧菜单。根据用户是否登录,栏中的元素应该是动态的。我的问题是,当我登录时,这些项目不是反应性的——我需要刷新浏览器以刷新菜单。知道我做错了什么吗 <div id="app"> <sidebar-menu :menu="dynamicMenu" @toggle-collapse="onToggleCollapse" @item-click="on
<div id="app">
<sidebar-menu :menu="dynamicMenu" @toggle-collapse="onToggleCollapse" @item-click="onItemClick" :collapsed="collapseMenu" >
</sidebar-menu>
<router-view />
},
当我登录时,“isAuthorized”的值应更改为true。然后,该值应分配给我的动态菜单(相反),并应切换菜单选项隐藏/不隐藏。这是因为Vue.js无法跟踪数组中的修改,我建议您检查此项以了解更多信息:干杯,伙计,就是这样
computed: {
isAuthorized: function() {
return UserStorageService.GetUser() === null ? false : true;
},
dynamicMenu() {
return [
{
header: true,
title: "Menu",
hiddenOnCollapse: true
},
{
href: { path: "/" },
title: "Home",
icon: "fas fa-home"
},
{
href: { path: "/Dashboard" },
title: "Dashboard",
icon: "fas fa-folder",
hidden: !this.isAuthorized
},
{
href: { path: "/" },
title: "Reporting",
icon: "fas fa-archive",
hidden: !this.isAuthorized
},
{
href: { path: "/" },
title: "My profile",
icon: "fas fa-share-alt",
hidden: !this.isAuthorized
}
]
}