vue学习的第一天——vue-router的相关使用

一、vue-router的使用

  1、通过vue-cli初始化时勾选安装或者直接通过npm安装。

  2、在router.js里面import,并通过vue.use使用.然后再export defualt 暴露一个router实例。

//引入vue主依赖
import Vue from 'vue'
//引入vue-router
import Router from 'vue-router'
//引入组件
import Content from './views/user.vue'
//通过use方法使用vue
Vue.use(Router)

//export default 暴露一个new的router实例
export default new Router({
  //开启history路由模式
  mode: 'history',
  base: process.env.BASE_URL,
  //路由配置
  routes: [
    {
      path: '/',
      name: 'user',
      component: Content
    },
    {
      path: '/about',
      name: 'about',
      // route level code-splitting
      // this generates a separate chunk (about.[hash].js) for this route
      // which is lazy-loaded when the route is visited.
      component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
    }
  ]
})

  3、在mian.js里面引入router.js

//引入vue主模块
import Vue from 'vue'
//引入app根组件以便挂载实例
import App from './App.vue'
引入router.js
import router from './router'
引入store.js
import store from './store'
import './registerServiceWorker'

Vue.config.productionTip = false

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

二、路由配置及跳转

1、通过router-link标签的to属性跳转

  <router-link to="/">登录</router-link>
  <router-link to="/about">注册</router-link>
 
2、通过在data中定义动态路由,并将to作为属性动态绑定
  <router-link :to="">登录</router-link>
 
3、通过组件中给一个name属性,然后通过to属性绑定name属性
  <router-link :to="{name:'componentsName'}">登录</router-link>
 
4、通过js方法跳转。
  * this.$router.go()方法
  * this.$router.replace('/login')  
  * this.$router.repalce({name:'login'})
  * this.$router.push('/login')或者 this.$router.push({name:'login'})
 
三、组件的嵌套
  1、每个组件都会通过export default 暴露一个组件的name属性。
  2、在父组件中通过import XXX from 'XXX'
  3、在components里注册子组件
  4、当做标签使用
  
<script>
import top from "./views/header";
import bottom from "./views/footer";
export default {
  data(){
    return{
      
    }
  },
  name:"app-app",
  components:{
    "top":top,
    "bottom":bottom
  }
}
</script>

 

posted @ 2019-08-21 17:08  Hello_nico  阅读(376)  评论(0编辑  收藏  举报