vue项目——Vue Router路由的使用

前言:

    学习vue也有一段时间了,这里把学习整个vue项目中的一些知识点和问题,整理下方便自己记录,也希望给大家带来方便。我会连续写几篇系统的文章,讲解一个完整的vue项目中用到的各个使用模块。今天先来学习路由的的使用。


一、Vue Router

    Vue RouterVue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。我简单理解就是我们在有的页面中看到我们点击一个链接他并不是整个页面全部渲染,而是局部页面的一个重新渲染(比如:有的页面跳转的时候可以看到他的title每个页面都是固定的,并不会改变,这一部分是没有重新渲染的),而且上面的链接也会发生相应的变化,整个就是使用路由的结果,可以大大减少我们的资源请求和页面的渲染。这就是路由的作用了,路由一般跟vue 的组件配合使用,大家可以理解为就是a链接的跳转,我们只是指定跳转到我们想要的另一个页面上。

二、安装Vue Router

    如果你的项目是用vue-cli搭建的话(至于vue-cli脚手架工具如何安装和搭建,大家可以看我前一篇文章),在建立项目的时候回让你选择是否安装Vue Router,如果你安装了,就不需要在安装了,如果你的项目是直接搭建的话,那么就需要安装了,直接在项目根目录中输入

npm install vue-router

如果你安装了cnpm的话,直接输入

cnpm install vue-router

这里推荐使用cnpm,速度会快很多。
运行完成后我们就安装完成了,因为我是用vue-cli搭建的项目,所有这里就以vue-cli环境为主了,如果大家自己搭建的话也差不多(在学习vue中,推荐大家使用vue-cli脚手架工具搭建项目,毕竟跟vue配套的,在IT届东西太多,要学会站在巨人的肩膀上),我们安装完成后还需要在我们的项目的main.js中添加上:

// 1.1导入路由的包
import VueRouter from 'vue-router';
// 1.2安装路由
Vue.use(VueRouter);
// 1.3 导入自己的 router.js 模块
import router from './router/router.js';

注意:1.3中的名字vue-cli生成的叫index.js,我不喜欢这个名字,自己改成了router.js,还有大家的路径可能也不一样,vue-cli生成的模块在Router文件夹下的index.js。

到此我们就安装完成了,并且可以正常使用了。

三、Vue Router的使用

    我们安装好了,如何使用呢?刚才说router就像是a标签一样的页面跳转, 在roter中我们用专门的标签<router-link></router-link>a标签要定义herf=""跳转地址,这里我们用to="/home"来定义跳转的页面,这里/home是一个路由地址,就相当于点击了就会去这个链接。

那么这个/home路由链接里面显示的什么东西呢?

    这就需要我们提前先定义一个组件了即是一个vue文件,这个vue文件包含了templatestylescript,在这个vue文件里面我们就可以写我们需要显示的一套页面了。向这种类似的组件会有有很多,我们一般是放在components文件夹下面的。
    然后我们在前面生成的router.js中去写上对应的匹配规则,导入这个组件就可以了。

我上面写的就是导入的组件,下面就是每个组件的匹配规则。

总的来说分为两步:

  • 一是将一个标签为改造<router-link></router-link>为他指定to=""属性,链接地址。
  • 二是在router.js中定义匹配规则和导入组件。

这种跳转方式大家会发现一个问题,就是我们页面的网页源代码中会出现<router-link></router-link>标签,我们想他变成我们想要的标签怎么办呢?这里我们可以给这个标签加一个tag=""属性,自动渲染成我们指定的标签名称。这里还有一个办法就是我们的编程式导航。

四、编程式导航

    编程式导航是页面的另一种跳转方式,我们在需要点击跳转的标签中用@click="goDetail()"定义一个点击方法,然后在methods中定义方法的具体实现。

<script>
export default {
    methods: {
        goDetail(){// 使用编程式导航
            this.$router.push('/home/goodsinfo/')
        }
    }
}
</script>

或者改为

goDetail(){// 使用编程式导航
            this.$router.push({ name: "goodsdesc"})
        }

后面这个需要在定义匹配规则的时候增加一个name属性值就可。

然后我们同样的需要在router.js中去定义匹配规则和导入对应的组件。这样我们就把标签改造成了编程式导航了。

五、路由传参

    有的时候我们需要利用路由进行传递参数,以区分当前是那一个数据,这个参数一般都是唯一的标记,我们需要在定义@click="goDetail(id)"点击方法的时候拼接一个id值,然后路由链接也相应的变为this.$router.push('/home/goodsinfo/:id'),后面这种写法加一个params属性this.$router.push({ name: "goodsdesc", params: {id}}),我们在路由匹配的时候也需要变成'/home/goodsinfo/:id'这种链接,到时候点击链接,id就会替换为传入的值。
    好了,Vue Router路由的使用就说到这里了,大家也可以去看Vue Router 的API文档(你尽管去看,能看懂算我输),下一节我们来讲一下vue中的组件的使用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容