前端路由vueRouter

vueRouter官网:Vue Router | Vue.js 的官方路由 (vuejs.org)icon-default.png?t=N7T8https://router.vuejs.org/zh/

新建一个router-demo新的项目,然后在终端使用npm install vue-router@3

 创建Discover.vue,Friends.vue,My.vue三个

Discover.vue如下

<template>
    <div>   
        <h1>发现音乐</h1>
    </div>
</template>

 Friends.vue如下

<template>
    <div>   
        <h1>关注</h1>
    </div>
</template>

 My.vue如下

<template>  
    <div>   
        <h1>我的音乐</h1>
    </div>
</template>

 App.vue添加代码

<template>
  <div id="app">
    <router-link to="/discover">发现音乐</router-link>
    <router-link to="/my">我的音乐</router-link>
    <router-link to="/friends">关注</router-link>
    <router-view></router-view>
  </div>
</template>

<script>


export default {
  name: 'App',
  components: {

  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

 新建index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import Discover from '../components/Discover.vue'
import Friends from '../components/Friends.vue'
import My from '../components/My.vue'

Vue.use(VueRouter)

const router = new VueRouter({
    //指定hash属性与组件的对应关系
    routes:[
    {path:'/',redirect:'/discover'},
    {path:'/discover',component:Discover},
    {path:'/friends',component:Friends}, 
    {path:'/my',component:My},

    ]
})

export default router   

main.js添加代码

import Vue from 'vue'
import App from './App.vue'
import router from './router'

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  router: router
}).$mount('#app')

运行

 

新建TopList.vue和PlayList.vue

 TopList.vue如下

<template>  
    <h3>推荐</h3>
</template>

PlayList.vue如下

<template>
    <h3>歌单</h3> 
</template>

Discover.vue修改

<template>
    <div>   
        <h1>发现音乐</h1>
        <router-link to="/discover/toplist">推荐</router-link>
        <router-link to="/discover/playlist">歌单</router-link>
        <hr>
        <router-view></router-view>
    </div>
</template>

index.js修改

import Vue from 'vue'
import VueRouter from 'vue-router'
import Discover from '../components/Discover.vue'
import Friends from '../components/Friends.vue'
import My from '../components/My.vue'
import TopList from '../components/TopList.vue'
import PlayList from '../components/PlayList.vue'

Vue.use(VueRouter)

const router = new VueRouter({
    //指定hash属性与组件的对应关系
    routes:[
    {path:'/',redirect:'/discover'},
    {
        path:'/discover',
        component:Discover,
        children:[ 
            {path:'toplist',component:TopList},
            {path:'playlist',component:PlayList},
        ] 
    },
    
    {path:'/friends',component:Friends}, 

    ]
})

export default router   

 刷新

新建Product.vue

<template>  
    <h3>商品{{id }}</h3>
</template>

<script>   
    export default {
        props: ["id"]
    }
</script>

 修改My.vue

<template>  
    <div>   
        <h1>我的音乐</h1>
        <router-link to="/my/1">商品1</router-link>
        <router-link to="/my/2">商品2</router-link>
        <router-link to="/my/3">商品3</router-link>
        <router-view></router-view>  
    </div>
</template>

修改index.js 

import Vue from 'vue'
import VueRouter from 'vue-router'
import Discover from '../components/Discover.vue'
import Friends from '../components/Friends.vue'
import My from '../components/My.vue'
import TopList from '../components/TopList.vue'
import PlayList from '../components/PlayList.vue'
import Product from '../components/Product.vue'

Vue.use(VueRouter)

const router = new VueRouter({
    //指定hash属性与组件的对应关系
    routes:[
    {path:'/',redirect:'/discover'},
    {
        path:'/discover',
        component:Discover,
        children:[ 
            {path:'toplist',component:TopList},
            {path:'playlist',component:PlayList},
        ] 
    },
    
    {path:'/friends',component:Friends}, 
    {path:'/my',
        component:My,
        children:[
            {path:':id',component:Product,props:true},
        ]     
    },
    ]
})

export default router   

刷新

相关推荐

  1. VueRouter模式有哪几种

    2024-06-18 00:30:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 00:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 00:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 00:30:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 00:30:02       20 阅读

热门阅读

  1. MySQL运算符

    2024-06-18 00:30:02       6 阅读
  2. 数据分离(C++)

    2024-06-18 00:30:02       6 阅读
  3. Jira系统基本介绍

    2024-06-18 00:30:02       8 阅读
  4. 深入解析Spring Cloud:微服务架构的利器(下)

    2024-06-18 00:30:02       7 阅读
  5. Adam优化算法

    2024-06-18 00:30:02       6 阅读
  6. K-MEANS 算法的简单实现

    2024-06-18 00:30:02       7 阅读
  7. String结构体测试代码(一)

    2024-06-18 00:30:02       5 阅读