vue-路由使用
路由安装
终端下载路由插件 npm install vue-router --save-dev
配置
在main.js中引入插件
//Router 为自定义名 vue-router 为插件的名字 import Vue from 'vue' import Router from 'vue-router'
注册使用
//注册使用 vue-router Vue.use(Router)
配置路由
const router = new Router({
routes : [
{path : "/" ,name : "home" component: Home},
{path : "/helloworld" , name : "helloworld",component: HelloWorld}
],
mode : "history" //去掉路由地址后面的#
})
//可以将routes单独抽离出来
const routes = [
{
path : "/" , //设置路由路径
name : "home",
component: Home // home在main.js里面注册的组件名,将要跳转到的组件
},
{path : "/helloworld" , name : "helloworld",component: HelloWorld},
{path : "*" , redirect: '/'} //当点击不存在路径时 默认 跳转到路径 '/'
]
const router = new Router({
routes,
linkActiveClass: 'class' //设置路由比标签选中颜色
mode : "history"
})
需要在main.js中 vue实例中引入router
new Vue({
router,
el: '#app',
components: { App },
template: '<App/>'
})
二级路由的设置
//二级路由在当前路由下添加 children数组 const routes = [
{
path : "/about" , //设置路由路径
name:'about',
component: About,
redirect: '/about1', //设置当前页面默认显示的子路由
children:[ //二级路由
{path : "/about1" ,name:'about1', component: About1},
{path : "/about2" ,name:'about2', component: About2},
{path : "/about3" ,name:'about3', component: About3},
{path : "/about3" ,name:'about3', component: About3},
]
},
] const router = new Router({
routes,
mode : "history"
})
跳转的几种写法
标签<router-link to=""></router-link>
一、
<!-- to属性里面填入路径(在main.js中设置的路径) -->
2 <!-- tag属性可以设置 标签的展示 tag="div"标签是以div形式的展示 -->
<router-link tag="div" to="/home">首页</router-link>
二、
<!-- 通过 注册路由时设置的 name 属性 -->
<router-link :to="{name : 'home'}">首页</router-link>
通过name属性
{path : "/home" ,name:'home', component: Home},
三、
<!-- 可以动态设置路径 --> <router-link :to="home">新闻</router-link>
<!-- 可以通过data动态设置路径 -->
data(){
name : '/home'
}
通过name属性实现<router-link></router-link>的复用
<router-view name="home1"></router-view> <router-view name="home2"></router-view> <router-view name="home3"></router-view>
const routes = [
{
path : "/" ,
name:'home',
components: { //components 这里有 s
default : Home, // 当前的home页面
//为复用的 路由设置 属性名
'home1' : Home1,
'home2' : Home2,
'home3' : Home3, }
},
]
vue-路由使用的更多相关文章
- Vue路由vue-router
前面的话 在Web开发中,路由是指根据URL分配到对应的处理程序.对于大多数单页面应用,都推荐使用官方支持的vue-router.Vue-router通过管理URL,实现URL和组件的对应,以及通过U ...
- 攻克vue路由
先下手 路由是个好功能,但是每次都感觉没法开始下手,愣愣的看半天官方文档,所以做个快速开始教程. 首先先搭好HTML文件结构: <!--link和view在一个父元素下--> <di ...
- Vue路由学习心得
GoodBoy and GoodGirl~进来了就看完点个赞再离开,写了这么多也不容易的~ 一.介绍 1.概念:路由其实就是指向的意思,当我们点击home按钮时,页面中就要显示home的内容,点击l ...
- VUE路由新页面打开的方法总结
平常做单页面的场景比较多,所以大部分的业务是在同一个页面进行跳转.要通过VUE路由使用新页面打开且传递参数,可以采用以下两个方法: 1.router-link的target <router-li ...
- vue路由参数变化刷新数据
当路由到某个组件时,由于组件会复用,所以生命周期函数不会再次执行, 如果这个组件是模板组件,靠传入不同数据来显示的.那么,可能会发生参数变化了但页面数据却不变化. 问题 假如有个组件 info.vue ...
- 10.3 Vue 路由系统
Vue 路由系统 简单示例 main.js import Vue from 'vue' import App from './App.vue' //https://router.vuejs.or ...
- vue路由原理剖析
单页面应用(SPA)的核心之一是: 更新视图而不重新请求页面, 实现这一点主要是两种方式: 1.Hash: 通过改变hash值 2.History: 利用history对象新特性(详情可出门左拐见: ...
- 3种vue路由传参的基本模式
路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...
- 14.vue路由&脚手架
一.vue路由:https://router.vuejs.org/zh/ 1.定义 let router = new VueRouter({ mode:"history/hash" ...
- react router @4 和 vue路由 详解(八)vue路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据 ...
随机推荐
- IDFTP连不上FTP服务器的解决方法
使用IDFTP连不上FTP服务端. 原来是IDFTP有2种模式:主动模式和被动模式. IDFTP默认是使用主动模式,如果FTP服务端设置使用被动模式,使用IDFTP连不上FTP服务端的. 解决方法: ...
- maven 的plugin 的使用
mvn [plugin-name]:[goal-name] mvn compiler:compile 这里写的十分详细: https://www.tutorialspoint.com/maven/ma ...
- Criteria——Hibernate的面向对象查询
提到Hibernate的查询.我们往往会想到HQL,他使我们的SQL语句面向对象话. 事实上细看,差点儿相同就是把SQL语句中的表和字段用所相应的实体和属性给取代了.事实上.Hibernate中还有还 ...
- springboot 异常: Requested bean is currently in creation: Is there an unresolvable circular reference?
2018-07-31 11:56:18.812 WARN 10316 --- [ main] ConfigServletWebServerApplicationContext : Exception ...
- 使用 Polyfill 而不再是 bable 来实践js新特性
现状 我们想要用ES6 语法来写 JavaScript.然而由于我们需要兼容老版本的浏览器,那些浏览器不支持 ES6,我们需要解决这个问题. 有一个标准的做法是:写 ES6 代码 → 将所有代码编译成 ...
- sublime如何汉化
1.将sublime安装文件夹里面的defavlut.sublime-package这个文件zip解压. 2.然后查找到sublime-menu文件. 3.打开文件将json里面的caption里面的 ...
- [Apple开发者帐户帮助]二、管理你的团队(3)删除团队成员
如果您已加入Apple开发者计划,您将在App Store Connect中管理团队成员.有关详细信息,请转到App Store Connect帮助中的添加和编辑用户. 如果您已加入Apple Dev ...
- php 提交编辑数据没有变,返回0,判断
php 提交编辑数据没有变,返回0,判断以TP为例子 $edit = D('Brand')->save($data);if($edit == true){ echo "修改成功&quo ...
- PHP无限级分类实现(递归+非递归)
<?php /** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午12:00 */ //准备数组,代替从数据库中检 ...
- Js:弹窗剧中
js变量设置 var iWidth = $(window).width() * 0.9; var iHeight = $(window).height() * 0.9; - iHeight) / ; ...