vue-router基础内容

使用vue-router

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

定义路由


const routes = [

// 这里定义一个最基础的路由

{ path: ‘/b’, component: ComponentB }

// 动态路由

{ path: ‘/user/:id’, component: User }

// 命名路由

{ path: ‘/user/:id’, name: user, component: User }

];

创建 router 实例


const router = new VueRouter({

routes // (缩写)相当于 routes: routes

})

vue实例注入路由


通过 router 配置参数注入路由。

var app = new Vue({

el: ‘#app’,

router: router,

})

通过注入路由器,我们可以在任何组件内通过 this. r o u t e r 访问路由器,也可以通过 t h i s . router 访问路由器,也可以通过 this. router访问路由器,也可以通过this.route 访问当前路由。

使用路由出口


路由跳转


router-link

通过router-link组件,我们可以进行路由的跳转。to属性的写法很多,请参考router-link

Component B

Component C

编程式路由

router.push(location, onComplete?, onAbort?)

该方法的参数location可以是一个字符串路径,或者一个描述地址的对象。用法如下:

router.push(‘b’);

router.push({path: ‘b’})

router.push({path: ‘user/1’})

router.push({name: ‘user’, params: {id: 1}})

router.replace(location, onComplete?, onAbort?)

跟 router.push 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

router.replace(…)

ps:你也可以在router-link使用replace。

router.go(n)

类似 window.history.go(n)。是history回退和前进的操作。

了解了上述几个点后,你基本上可以完成基本的路由功能了。

嵌套路由


一个组件内部也可以有路由视图router-view。

FatherComponent Content

于此同时需要在路由定义处添加children属性。也是类似嵌套的写法。

{

path: ‘/father’,

component: FatherComponent,

children: [

{ path: ‘child’, component: ChildComponent }

]

}

命名视图


当我们的布局是由几部分组成时,并且我们希望每一部分都有自己的路由,那么此时就不是嵌套路由了,而是多路由视图,这个时候我们就需要用到命名视图了。

而在定义路由的时候也要对应好。

const router = new VueRouter({

routes: [

{

path: ‘/’,

components: {

default: Foo,

a: Bar,

b: Baz

}

}

]

})

用watch监测路由


很多时候我们可能需要监测路由变化,那么需要在watch中监测’ r o u t e ’,方法大体是’ route’,方法大体是’ route,方法大体是route’ (to, from) {your code}

watch: {

‘$route’: function (to, from) {

this.fromRoute = from.path;

this.toRoute = to.path;

// 可以根据情况做一些后续的逻辑处理

}

}

路由重定向


重定向的意思就是本来是要跳路由A的,但是定向到B。写法如下:

routes: [

{ path: ‘/b’, component: ComponentB },

// redirect为path的形式

{ path: ‘/a’, redirect: ‘/b’ },

// redirect为name的形式

{ path: ‘/a’, redirect: { name: ‘compB’} },

// 甚至是一个方法,动态返回重定向目标,这样我感觉都可以做路由守卫了。

{ path: ‘/a’, redirect: to => {

// 方法接收 目标路由 作为参数

// return 重定向的 字符串路径/路径对象

}}

最后

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

  • 技术要深入到什么程度?

  • 做久了技术总要转型管理?

  • 我能做什么,我想做什么?

  • 一技之长,就是深耕你的专业技能,你的专业技术。(重点)

  • 独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值