export default new Router({
mode: 'history',
scrollBehavior,
routes: [
{
path: '/',
name: 'StoreDemo',
component: resolve => require(['../components/StoreDemo'], resolve),
// 配置了scrollToTop为true,点击这个路由,页面会滚到顶部
// 如果没配置scrollToTop或配置scrollToTop为false,点击这个路由,页面保持原先的滚动位置
// 效果说明:点击这个路由后,滚动页面隐藏顶部的一部分,再点击路由:/promisedemo,页面保持原先的滚动位置;再点击这个路由,页面会滚动到顶部,因为配置了scrollToTop为true
meta: { scrollToTop: true }
},
{
path: '/promisedemo',
name: 'PromiseDemo',
component: r => require.ensure([], () => r(require('../components/PromiseDemo')), 'demo')
}
 ]
})

详细代码见:https://github.com/cag2050/vue_product_demo/blob/master/src/router/index.js

  • vue-router配置路由,使用vue的异步组件技术,可以实现按需加载。

    但是,这种情况下一个组件生成一个js文件。

    举例如下:
        {
path: '/promisedemo',
name: 'PromiseDemo',
component: resolve => require(['../components/PromiseDemo'], resolve)
}
  • vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。

    这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

    举例如下:
        {
path: '/promisedemo',
name: 'PromiseDemo',
component: r => require.ensure([], () => r(require('../components/PromiseDemo')), 'demo')
},
{
path: '/hello',
name: 'Hello',
// component: Hello
component: r => require.ensure([], () => r(require('../components/Hello')), 'demo')
}
  • 问:使用vue-router之后,页面的切换是局部刷新,这样就会产生一个问题,如果某个页面这个用户没有权限访问,这个如何来控制?

    答:有了导航钩子,这个自然就可以放到导航钩子来执行。

  • 点击<router-link :to="...">等同于调用router.push(...)

  • 前端路由,直接请求相应的组件;

    后端路由,请求后会将页面整个刷新。

  • location.href 会先走后端路由;

  • vue-router的这种写法走前端路由:

next({
  path: '/process'
})
  • 嵌套路由:children

  • 当前路由路径:this.$route.path

vue-router 知识点的更多相关文章

  1. vue项目创建步骤 和 路由router知识点

    菜单快捷导航: vue项目创建 vue路由router知识点(路径参数.查询参数.命名路由.嵌套路由.命名视图.hash/history模式) 1.创建一个vue项目步骤 (windows环境下).创 ...

  2. Vue 2.0 + Vue Router + Vuex

    用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...

  3. vue router 只需要这么几步

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. Vue.js 2.x笔记:路由Vue Router(6)

    1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...

  5. Vue Router学习笔记

    前端的路由:一个地址对应一个组件 Vue Router中文文档 一.路由基本使用 第1步:导入Vue Router: <script src="https://unpkg.com/vu ...

  6. vue router.push(),router.replace(),router.go()和router.replace后需要返回两次的问题

    转载:https://www.cnblogs.com/lwwen/p/7245083.html https://blog.csdn.net/qq_15385627/article/details/83 ...

  7. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  8. 深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)

    1. 为什么需要按需加载? 对于vue单页应用来讲,我们常见的做法把页面上所有的代码都打包到一个bundle.js文件内,但是随着项目越来越大,文件越来越多的情况下,那么bundle.js文件也会越来 ...

  9. 深入浅出的webpack构建工具--webpack4+vue+router项目架构(十四)

    阅读目录 一:vue-router是什么? 二:vue-router的实现原理 三:vue-router使用及代码配置 四:理解vue设置路由导航的两种方法. 五:理解动态路由和命名视图 六:理解嵌套 ...

  10. python 全栈开发,Day91(Vue实例的生命周期,组件间通信之中央事件总线bus,Vue Router,vue-cli 工具)

    昨日内容回顾 0. 组件注意事项!!! data属性必须是一个函数! 1. 注册全局组件 Vue.component('组件名',{ template: `` }) var app = new Vue ...

随机推荐

  1. 点击input文字会自动消失

    <input type="text" name="q" value="请输入关键字" style="width:128px; ...

  2. C++实现String容器的基本功能

    本文只实现String类的构造函数.析构函数.赋值构造函数和赋值函数,其他操作不再详述,一般的笔试面试基本上也只会要求实现这四个函数的功能. #include <iostream> usi ...

  3. LTrim、RTrim 和 Trim 函数

    返回不带前导空格 (LTrim).后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本. LTrim(string) RTrim(string) Trim(string) strin ...

  4. ansible 列表变量、字典变量

    ansible的变量不仅可以是单个的值,也可以为列表. - hosts: localhost gather_facts: no vars: - list: [1,2,3] tasks: - name: ...

  5. 使用MyEclipse开发Java EE应用:企业级应用程序项目(上)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 一.EAR项目模型 MyEclipse提供企业应用程序项目模型,即EAR项目模型,以及用于 ...

  6. 使用MyEclipse将HTML5移动项目迁移到PhoneGap(三)

    MyEclipse开年钜惠 在线购买低至75折!立即开抢>> [MyEclipse最新版下载] 三.将图像从HTML5项目复制到PhoneGap项目 1. 在PhoneGap项目的www ...

  7. 安装sybase服务器并连接数据库

    一. 安装sybase服务器(根据安装指南安装) win32位的系统安装1550_winx86_32+补丁包eBF18157 win64位的系统安装ase157_winx64_安装包 如果不创建服务器 ...

  8. ZOJ2540 Form a Square

    Form a Square 题意就是 判断 给你四个点,能否组成一个正方形 要点: 格式很重要, 很重要!!! 数据很小,直接暴力 四个点判断是否为正方形,只需将所有可能的边长度算出来,然后选其中最短 ...

  9. HTTP Header之Content-Type

    HTTP Header之Content-Type   目录 1. HTTP Header 2. 文件请求和接口请求 3. 几种 Content-Type 3.1 application/x-www-f ...

  10. Redis学习第二课:Redis String类型及操作

    Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...