vue3.0 CLI - 3.2 路由的初级使用教程


Posted in Javascript onSeptember 20, 2018

我的 github 地址 -vue3.0Study - 阶段学习成果都会建立分支。

==========================

动态路由

在路由某部分里加入[ : ],就成为动态路由如:/user/:id/,那么路由导航,并不是  /user/id/ 而是 /user/666/。

显然这个 id 能被获取,在组件中使用。通过 this.$route.params 获取。 this 是当前组件,$route 是路由对象,params 是一个对象字面量 { id:666 }。

$route 通过 Vue.use(Router) new Vue({ router, store, render: h => h(App) }).$mount('#app') 全局依赖注入,在所有组件中都可以使用它。

1、router.js 中 path: '/about' 路由 改为 path: '/about/:id'。

2、About.vue 中 <top-nav title="军事" :class="{ active: isActive }"/> 添加红色部分。

3、About.vue 中 data 或者 computed 属性中添加 isActive: function () { return this.$route.params.id === "666"; }

4、App.vue 中 <router-link to="/about/666">VUE</router-link>

5、About.vue 中 <style lang="less"> .active { background: red; } </style>

保存点击【VUE】导航按钮,即可见到效果:

vue3.0 CLI - 3.2 路由的初级使用教程

如何取得 $route 中参数的值,便是很大的进步。这个参数可以用在任何地方,可以用来做任何事情。

比如传递数据,根据路由参数动态从服务器获取组件内容等

在进行下一个内容学习之前,commit 一下。

嵌套路由(子路由)

在页面,通常存在多级导航。vue 官方网站便是多级导航的例子:顶部为一级导航栏,左侧为二级导航栏。

导航通常对应 <router-link> 而 <router-link> 与 <router-view/> 对应。

并非只有 App.vue 中才能存在 <router-view/>, 任何组件都可以。

下面把 HelloWorld.vue 变为 About.vue 的子路由:

1、<HelloWorld msg="vue 官方相关资料的链接"/> 替换为  <router-view/>

2、router.js 中关于 About.vue 组件的路由 替换为

{
  path: '/about/:id',
  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'),
  children: [
  {
   path: '1',
   component: HelloWorld,
   props: (router) => ({
   msg: router.query.msg
   })
  }
  ]
 }

在浏览器地址栏输入 http://localhost:8081/#/about/666/1?msg='welcome to nDos blog' 查看效果。

编程式导航与路由命名

在 vue 初始化的工程中,路由配置时,组件都已做好命名。这便是路由命名。

编程式导航,尽量使用命名的路由,如下:

router.push({ name: 'about', params: { userId: 123 }})

因为使用 path 属性进行编程式导航,params 无效。

这样使用路由跳转,使得单页面编程的路由跳转更加灵活。比如某个跳转按钮,可以绑定函数,进行条件跳转。

关于这两个的内容并不多,参照官网教程学习。

命名视图

在一个组件中,如果有多个组件出口,比如:在某个页面,需要同时展示很多个组件时。

只有一个 <router-view/> 显然不能满足需求。

多个 <router-view/> 同时存在的时候,就必须要加以区分,用的是 name 属性:<router-view name="a"/>

在 router.js 中的 components 属性中,添加多个组件即可 ( 到这里才明白为什么 components 为什么是复数形式的写法  )。

总结

以上所述是小编给大家介绍的vue3.0 CLI - 3.2 路由的初级使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
中文输入法不触发onkeyup事件的解决办法
Jul 09 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
JS之相等操作符详解
Sep 13 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
原生JS实现的双色球功能示例
Feb 02 Javascript
Vue开发之watch监听数组、对象、变量操作分析
Apr 25 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
Jun 01 Javascript
js观察者模式的弹幕案例
Nov 23 Javascript
在vue中import()语法不能传入变量的问题及解决
Apr 01 Vue.js
微信小程序使用gitee进行版本管理
Sep 20 #Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 #jQuery
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 #Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 #jQuery
Vuex 快速入门(简单易懂)
Sep 20 #Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 #Javascript
js计算两个日期间的天数月的实例代码
Sep 20 #Javascript
You might like
小偷PHP+Html+缓存
2006/11/25 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
js Date概念详细介绍
2013/11/22 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
python使用super()出现错误解决办法
2017/08/14 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
python实现经纬度采样的示例代码
2020/12/10 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
草莓网官网:StrawberryNET
2019/08/21 全球购物
个人简历中自我评价
2014/02/11 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
人事任命书怎么写
2014/06/05 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
招商银行收入证明
2015/06/17 职场文书
应收账款管理制度
2015/08/06 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
python OpenCV学习笔记
2021/03/31 Python
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技