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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
Jun 29 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
Dec 20 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
利用Vue实现一个markdown编辑器实例代码
May 19 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
vue实现扫码功能
Jan 17 Javascript
Vue+Vuex实现自动登录的知识点详解
Mar 04 Javascript
微信小程序使用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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
python executemany的使用及注意事项
2017/03/13 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
总经理职责
2013/12/22 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
学生请假条
2014/04/11 职场文书
交通事故协议书范文
2014/04/16 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
个人存款证明书
2014/10/18 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
2015年教师国培感言
2015/08/01 职场文书
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫
Go语言 详解net的tcp服务
2022/04/14 Golang
instantclient客户端 连接oracle数据库
2022/04/26 Oracle