美文网首页
vue 路由

vue 路由

作者: super静_jingjing | 来源:发表于2018-08-29 11:59 被阅读0次

路由:动态的往根组件挂载不同的组件

  1. 安装vue-router
  npm install vue-router --save
  1. 在mian.js 中引入并Vue.use('VueRouter')
import VueRouter from 'vue-router';
Vue.use(VueRouter);

3.配置路由
(1)创建组件,引入组件
(2)定义路由

const routes = [
 {path:'/foo', components:Foo},
  {path:'/bar', components:Bar}
]

(3)实例化VueRouter

const router = new VueRouter({
  routes //相当于routes:routes
});

(4)挂载

new Vue({
  el:'app',
  router,
  render: h => h(App)
})

(5) <router-view></router-view> 放在App.vue
如果需要使用链接跳转可以如下配置:

<router-link to='/home'>home</router-link>
<router-link to='/news'>news</router-link>

动态路由:可以传值的路由
第一种方法:

  1. mian.js配置动态路由. :aid 就是需要传值,key就是aid
 {path:'/content/:aid', component:Content},//动态路由
  1. 在传值的页面在link中配置
<ul>
    <li v-for='(item,key) in list'>
      <router-link :to="'/content/'+key">{{key}} ---  {{item}}</router-link>
    </li>
</ul>
  1. 在对应的页面获取动态路由的值----$route.params
export  default{
        data(){
            return{
               msg:"detail msg"
            }
        },mounted(){
            console.log(this.$route.params);
        }
    }

第二种方法: 使用get的方式

  1. main.js配置动态路由
import Pcontent from './components/Pcontent.vue';
const routes = [
   ...
  {path:'/pcontent', component:Pcontent},
  {path:'*', redirect:'/home'}//默认跳转的路由
];
  1. 在传值页面配置
<ul>
            <li v-for='(item,key) in list'>
               <router-link :to="'/pcontent?aid='+key"> {{key}}---  {{item}}</router-link>
            </li>
        </ul>
  1. 在取值页面取值
export  default{
        data(){
            return{
               msg:"detail msg"
            }
        },mounted(){
            //使用get传值
            console.log(this.$route.query);
        }
    }

路由的嵌套

  1. main.js 配置路由
{
      path: '/user',
      component: User,
      children:[
        { path: 'useradd', component: UserAdd },
        { path: 'userlist', component: Userlist }
      ]
    }

2.父路由里面配置子路由显示的地方 <router-view></router-view>

路由模块化:
新建一个router.js

import Vue from 'vue';
//配置路由
import VueRouter from 'vue-router';
Vue.use(VueRouter);
//1.创建组件
import Home from '../components/Home.vue';
import News from '../components/News.vue';
import User from '../components/User.vue';
//2.配置路由   注意:名字
const routes = [
    { path: '/home', component: Home },
    { path: '/news', component: News, name: 'news' },
    { path: '/user', component: User },
    { path: '*', redirect: '/home' }   /*默认跳转路由*/
]
//3.实例化VueRouter  注意:名字
const router = new VueRouter({
    mode: 'history',   /*hash模式改为history*/
    routes // (缩写)相当于 routes: routes
})
//5 <router-view></router-view> 放在 App.vue
export default router;

将export的router,引入到main.js

import Vue from 'vue';
import App from './App.vue';
//引入公共的scss   注意:创建项目的时候必须用scss
import './assets/css/basic.scss';   
import router from './router/router.js';
//4、挂载路由
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

以上就实现了router的分离,即路由模块化

相关文章

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • vue路由、自定义指令、脚手架

    *Vue vue-router 一、路由 一、导航式路由 路由路径由

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • 手写 Vue Router、手写响应式实现、虚拟 DOM 和 D

    Vue-Router 原理实现 一、Vue-Router 动态路由 二、Vue-Router 嵌套路由 三、Vue...

  • 2018-09-19 vue 八

    一 :路由路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 6 VUE路由

    vue-> SPA应用,单页面应用(引入vue-router.js) 路由嵌套(多层路由): 路由其他信息:

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • 2018-09-23 路由

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 2018-09-19 Vue 第八天

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • vue路由

    vue路由--- SPA应用,单页面应用vue-resouce 交互vue-router 路由根据不同url地址...

网友评论

      本文标题:vue 路由

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