欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

07 Vue-router路由

一、router-link

<!-- router-link-->
<router-link to='/'>home</router-link>
<router-link to='/about'>about</router-link>
<router-link to='{name:'one'}'>one</router-link>

<!--
router-link:会被自动解析为a标签
它与a标签的区别:
			a标签点击url时,页面会被刷新
			router-link:就是相当于分页面板一样,不会刷新当前页面


设置a标签被选中时的状态,就是一直保持选中的状态
            a.router-link-exact-active{
                    background-color:pink;
                }
-->

二、router-view

<!--
	router-view:就是用来为路由渲染的组件占位置,一般就是在跟组件中
-->


<!--App.vue 根组件中-->
<template>
    <div id="app">
        <router-view/>
    </div>
</template>
<style>
</style>

三、$router.push逻辑跳转

// router 的逻辑跳转

// 1. 直接加路径跳转
this.$router.push('/one-view') 

// 2. 可以传对应的url和url携带的参数
this.$router.push({
    name:'one-view',
    parms:{id:1}
})

四、$router.go跳转

this.$router.go(-1)

// router采用history的方式访问访问上一级记录

五、router间传参

window.console.log(this.$router)// 获取当前访问url的地址等参数


/* {name: "home", meta: {…}, path: "/", hash: "", query: {…}, …}
   
    fullPath: "/" 当前访问的url全路径
    hash: ""
    matched: [{…}] 这里面放的时一些正则
    meta:
    __proto__: Object
    name: "home" // 这个时url的页面的别名
    params: {} // 这是url请求携带的参数,时以键值对的形式存储的
    path: "/"
    query: {}
    __proto__: Object
*/


//如何获取这个url中的参数?
	this.$router.params //获取的携带参数的字典
	this.$router.params.key // 因为返回的字典对象,所以都是可以点取值的
// 如何给url中参数添加值?
	this.$touter.params['key'] = value
posted @ 2019-11-23 18:43  Cecilia陈  阅读(120)  评论(0编辑  收藏  举报