美文网首页
第4章 **插件-路由-难-脚手架下开发(2)

第4章 **插件-路由-难-脚手架下开发(2)

作者: wqjcarnation | 来源:发表于2020-03-23 20:12 被阅读0次

https://router.vuejs.org/zh/guide/#html
https://router.vuejs.org/zh/guide/essentials/nested-routes.html

目标

  • 简单路由
  • 路由嵌套

用 Vue.js + Vue Router 创建单页应用,是非常简单的。使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 Vue Router 添加进来,我们需要做的是,将组件 (components) 映射到路由 (routes),然后告诉 Vue Router 在哪里渲染它们。

1、简单的路由

app.vue

<template>
  <div id="app">
    <router-link to="/home">主页</router-link>
    <router-link to="/props">props</router-link>
    <router-link to="/parentjson">parentjson</router-link>
    <router-link to="/refparent">refparent</router-link>
   <!-- <img src="./assets/logo.png"> -->
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

router/index.js

import props from '@/components/props/parent'
import  parentjson from '@/components/props/parentjson'
import  refparent from '@/components/refs/parent'
{
    path: '/props',
    name: 'props',
    component: props
},

{
    path: '/parentjson',
    name: 'parentjson',
    component: parentjson
},

{
    path: '/refparent',
    name: 'refparent',
    component: refparent
}

这样就可以在多个页面间自由切换了

2、路由嵌套

要在嵌套的出口中渲染组件,需要在 VueRouter 的参数中使用 children 配置:

例1

新增加三个vue
index.vue
top.vue
middle.vue

<template>
  <div>
    <top></top>
    <middle></middle>
    <!--路由出口 路由到的地址在这儿显示 -->

  </div>
</template>

<script>
  import top from '@/components/router/top'
  import middle from '@/components/router/middle'
  export default{
    data(){
      return {}
    },
    components:{
      top,middle
    }
  }
</script>

<style>
</style>


<template>
  <div class="top">top</div>
</template>

<script>
  export default{
    data(){
      return {}
    }
  }
</script>

<style>
  .top{
    margin:0;
    width:100vw;
    height:10vh;
    background-color: #42B983;
  }
</style>



  <template>
    <div class="middle">
      <router-link to="/parent">parent</router-link>
      <router-link to="/parent01">parent01</router-link>
      <router-link to="/parent02">parent02</router-link>
      <!--路由出口 路由到的地址在这儿显示 -->
  <router-view/>

    </div>
  </template>

  <script>
    export default{
      data(){
        return {}
      }
    }
  </script>

  <style>
    .middle{
      width: 100vw;
      height: 50vh;
      background-color: aliceblue;
    }
  </style>

路由配置

    import index from '@/components/router/index'

{
  path: '/index',
  name: 'index',
  component: index,
  //children:[{},{}]
  children:[{
    path: '/parent',
    name: 'parent',
    component: parent
  },
  {
    path: '/parent01',
    name: 'parent01',
    component: parent01
  }
  ]
}

测试

浏览器输入地址,他会自动嵌入到子组件里

http://localhost:8080/#/index

关键代码

嵌套路由及子组件中的 <router-view/>

{
  path: '/index',
  name: 'index',
  component: index,
  //children:[{},{}]
  children:[{
    path: '/parent',
    name: 'parent',
    component: parent
  },
  {
    path: '/parent01',
    name: 'parent01',
    component: parent01
  }
  ]
}

相关文章

网友评论

      本文标题:第4章 **插件-路由-难-脚手架下开发(2)

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