vue-router 学习快速入门


Posted in Javascript onMarch 01, 2017

vue-router 快速入门

配置路由

$ npm install vue-router --save

routes.js

import Home from './pages/Home.vue'
import Gifs from './pages/Gifs.vue'
import User from './pages/User.vue'

export const routes = [
  { path: '', component: Home },
  { path: '/gifs', component: Gifs },
  { path: '/user/:id', component: User }
  //指定路由和对应要渲染的组件
  //404的path应该是'*',要放在最末尾,当前面的都匹配不到时才匹配到404页面
  //this.$route.params.id 可以从路由中拿到id数据
]

main.js

import VueRouter from 'vue-router'
import { routes } from './routes'

Vue.use(VueRouter)
//路由初始化
const router = new VueRouter({
 routes
})

//将路由注入根组件
new Vue({
 el: '#app',
 ...
 router,
 render: h => h(App)
})

App.vue

<template>
  <div class="app">
    <router-view></router-view>
  </div>
</template>

在模板中标注出组件渲染的位置

#号的含义

#号前表示的是发送给服务端的请求,要求返回html文件,而#号后表示的是发送给本地js的请求以寻求解决

路由参数动态绑定

使用watch

watch: {
  '$route'(to,from) {
    //to当前路由,from上一个路由
    this.id = to.params.id
  }
}

路由的数据传递

<router-link :to="{ name: 'userEdit', params: { id: $route.params.id }, query: { locale: 'en', list: 2 } }"></router-link>

传query参数可以达到地址栏出现/?locale=en&list=2

通过 $route.query.键名 来访问

命名视图

router-view 可以通过配置名字 name 来指定组件渲染的位置,增加了组件的复用性,比如分成 header main hero footer 来分别在一个视图中的不同位置上加载不同的组件

组件懒加载

我们只需要加载我们需要的组件呈现给用户,而其他不需要第一时间加载的组件,可以使用 webpack 实现异步加载,只在需要的时候才会发出请求,请求加载另一个组件

routes.js

const User = resolve => {
  require.ensure(['./components/user/User.vue'], () => {
    resolve(require('./components/user/User.vue'))
  }, 'GroupName')
}
//webpack 异步加载,通过组名,将要同时一起加载的组件打包加载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
jQuery 性能优化手册 推荐
Feb 23 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
JavaScript获取图片真实大小代码实例
Sep 24 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
Apr 30 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
Dec 08 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
详解Vue2 SSR 缓存 Api 数据
Nov 20 Javascript
vue  directive定义全局和局部指令及指令简写
Nov 20 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
Mar 01 #Javascript
Angular之指令Directive用法详解
Mar 01 #Javascript
js for循环倒序输出数组元素的实例
Mar 01 #Javascript
JSON与JS对象的区别与对比
Mar 01 #Javascript
JavaScript下拉菜单功能实例代码
Mar 01 #Javascript
Angular2 路由问题修复详解
Mar 01 #Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 #Javascript
You might like
PHP输入流php://input实例讲解
2015/12/22 PHP
laravel学习教程之关联模型
2016/07/30 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
asm.js使用示例代码
2013/11/28 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
python列表操作实例
2015/01/14 Python
python分析作业提交情况
2017/11/22 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
python将数据插入数据库的代码分享
2020/08/16 Python
python如何将图片转换素描画
2020/09/08 Python
python的数学算法函数及公式用法
2020/11/18 Python
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
库房保管员岗位职责
2014/04/07 职场文书
企业安全生产标语
2014/06/06 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
小平小道观后感
2015/06/09 职场文书
企业法律事务工作总结
2015/08/11 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript
Android存储中最基本的文件存储方式
2022/04/30 Java/Android