项目的需求是根据用户的权限判断,当前显示哪些菜单。
项目使用uniapp + vue3.0
1 根据前端写的项目目录来判断当前返回的路由是否有相同的,因为是数组所以做了封装函数来判断当前的路由数组。
javascript
//函数封装
function resArr(arr1, arr2) {
const appTabs = [];
arr1.forEach(v => {
arr2.forEach(val => {
if (val.path == v.pagePath) appTabs.push(v);
});
});
return appTabs;
}
2 数组路由当然少不了组件,vue3.0 的组件引入方式修改了,不再使用components ,需要在引入的地方导入组件,
shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理,直接使用组件浏览器会报警告
javascript
import Order from '@/pages/order/order.vue';
{
name: shallowRef(Order),
pagePath: '../order/order',
iconPath: '/static/tabbar/torder.png',
selectedIconPath: '/static/tabbar/torder_c.png',
text: '订单'
},
<component :is="data.getItem.name"></component>
3 写底部导航的样式应该很简单了把