美文网首页前后端知识交流分享
2018-08-16使用router-view同页面加载多路由

2018-08-16使用router-view同页面加载多路由

作者: 重新改的名字 | 来源:发表于2018-08-22 08:57 被阅读199次

    描述:
    用路由方式实现单页面加载多页面,并且切换页面后状态还是保存的,类似于单页面实现标签页,切换标签页实现内容显示隐藏。
    正常情况是(1)把其它页面作为组件形式先引入,然后动态切换组件标签;亦或者(2)直接路由跳转到目标页面;
    (1)的情况需要预先引入所有组件。
    (2)的情况路由跳转了,想保存其它的页面需要写状态保存。

    import codeDictManagePage from "xxxxx"
    // 路由配置
    routes: [
        { //  -------  配置1 -----------
          path: '',
          components: {
            default:index,
          },
          children:[
            {
              path:'',
              components:{
                codeDictManage:codeDictManagePage // codeDictManage为name
              }
            }
          ]
        },
        {//  -------  配置2 -----------
          path: '/',
          components: {
            default:Index,
            codeDictManage:codeDictManage
          }
        }
      ]
    

    循环生成 router-view 标签,根据name不同,引入不同的路由页。例如:pageUrl = "codeDictManage",则会在router-view标签内引入codeDictManagePage页面

    <!-- 循环生成 router-view 标签 -->
    <router-view> <!-- 正常这里是默认default,即index页面 -->
        <router-view :name="pageUrl"></router-view><!-- 这里根据name名引入不同的页面 -->
    </router-view>
    

    注意事项:
    1.地址栏如果是 “localhost:8080/”,则会使用 配置2 的路由,那么“配置1”的路由配置就不生效了。
    2.如果使用“配置2”,并且“default”与“codeDictManage”的 <router-view> 标签是嵌套关系的写法,则不能引入显示“codeDictManage”路由。只能平级插入<router-view>标签。

    --------------------分割线------------------------
    init by xxy 2018-08-22

    相关文章

      网友评论

        本文标题:2018-08-16使用router-view同页面加载多路由

        本文链接:https://www.haomeiwen.com/subject/zlmobftx.html