博主:初映CY的前说(前端领域) ,本文核心:用原生js实现省市区联动
【前言】在通用的后台管理项目的开发中,不仅仅是会涉及到对表单数据等的增删改查操作还会涉及到一些关于权限管理的问题。我们将基于一个RBAC的思维模式进行一个针对于用户权限来判断是否显示出某个页面/页面中的某一个结构。(RBAC思想精简就是说:我们给用户添加角色,给角色添加权限。)
作用:动态的添加我们的路由到总的路由实例当中去。
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
<button @click="hAddRoute" style="width: 300px;font-size: 50px;">addRoute</button>
</div>
</template>
<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'
import router from '@/router'
export default {
name: 'HomeView',
components: {
HelloWorld
},
methods: {
hAddRoute () {
router.addRoutes([{
path: '/abcD',
component: () => import('@/views/abcD')
}])
}
}
}
</script>
<template>
<div class="cbcd">
<h1>这个是abcD的页面</h1>
</div>
</template>
是的,这样的话我们就完成了我们路由的动态添加,来测试下
当我在路径中输入abcD路径时没有出现所对应的页面
当我点击addRoute的时候,我们就将这个路径所对应的组件挂载到当前的路由实例当中了
当我再次在地址栏追加页面的时候我们就成功的访问到了这个路由所对应的页面喽~
注意点:
一、页面刷新后空白需要加上:
next({ ...to, replace: true })
二、动态生成的路由表不可在this.$router.options.routes中被获取,需要从vuex中过去我们的动态表
至此本文结束,愿你有所收获! 期待大家的关注与支持! 你的肯定是我更新的最大动力!!!