vuexx

这篇博客介绍了Vue.js中的编程式导航,包括使用`this.$router.push()`方法进行页面跳转,以及如何通过name或path进行路径指定。同时,讲解了如何在跳转时传递参数,包括通过params和query两种方式,并展示了在模板中的实际应用。此外,还提到了`router-link`的active状态类的区别。
摘要由CSDN通过智能技术生成

<template>

  <div id="app">

    <div class="nav">

      <router-link to="/find">发现音乐</router-link>

      <router-link to="/my">我的音乐</router-link>

      <router-link to="/friend?username=小黑">朋友-小黑</router-link>

      <router-link to="/friend/小马">朋友-小马</router-link>

     

    </div>

    <button @click="goto">去我的音乐页面</button>

    <button @click="goto2">去朋友页面</button>

    <!-- 路由出口 -->

    <router-view/>

  </div>

</template>

<script>

/**

 * 目标:编程式导航(js跳转页面)

 * name 或 path选其一

 * 如果需要用name跳转,需要在路由规则中给路由规则对象添加name属性,并且不能重复

 * 建议根path保持一致,有name属性的路由,我们也称为命名路由

 * 语法:this.$router.push({

 *  path: '要去的路由路径‘,

 *  name: '要去的路由名字‘

 * })

 *

 * 目标:编程式导航(js跳转页面)- 跳转传参

 * 语法:

 * 1. name + params -> $route.params.参数名

 *

 * 2. path + query -> $route.query.参数名

 *

 *

 */

export default {

  name: 'App',

  methods: {

    goto(){

      this.$router.push({

        // path: '/my'

        name: 'my'

      })

    },

    goto2(){

      // name + params

       // <h3>我是: {{ $route.params.uname }}</h3>

      this.$router.push({

        name: 'friend/detail',

        params: {

          uname: '小传'

        }

      })

      // path + query

 //<h3>我是: {{ $route.query.username }}</h3>

      this.$router.push({

        path: '/friend',

        query: {

          username: '小智'

        }

      })

    }

  }

}

/**

 * 两个类的区别:

 * router-link-exact-active: 精准匹配,就是a的href属性值与url地址完全一样(全等关系)

 * router-link-active: 模糊匹配,就是url地址包含a的href属性值即可(以a的href属性值开头)

 */

/**

 * 目标:跳转传参

 * 方式:

 * (1)query:

 *   传:/path?参数名=值    

 *   接:$route.query.参数名

 *

 * (2) params:

 *  传:/path/值

 *  需要在路由规则中配置 动态参数的 路由 /path/:参数名

 *  接:$route.params.参数名

 *

 * 注意点:自己不要自己,url地址如果与要去path一样了,不能跳转了,否则会报错。

 */

</script>

<style scoped>

  a {

    margin-right: 20px;

  }

  a.router-link-active {

    color: red;

  }

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值