vue路由跳转、传参

1.路由跳转有几种方式

比如:A->B
声明式导航:router-link(务必有to属性),可以实现路由的跳转

 <p>
   <span></span>
   <!-- 声明式导航:务必要有to属性 -->
   <router-link to="/login">登录</router-link>
 </p>

编程式导航:利用的是组件实例的$router.push|replace方法,可以试想路由的条状

2.路由传参,参数有几种写法?

第一种:字符串形式

params参数:属于路径当中的一部分,需要注意,当配置路由的时候,需要占位
query参数:不属于路径当中的一部分,类似于ajax中的quertString /home?k=v&kv= ,不需要占位
例子:

  //配置路由
    routes:[
        {
            path:"/search/:keyword",
            component:Search,
            meta:{show:true}
        }
    ]
   <form action="###" class="searchForm">
   <input
     type="text"
     id="autocomplete"
     class="input-error input-xxlarge"
     v-model="keyword"
   />
   <button class="sui-btn btn-xlarge btn-danger" type="button" @click="goSearch">
     搜索
   </button>
 </form>
 <script>
 ...
 methods:{
      //搜索按钮的回调函数:需要向search进行跳转
      goSearch(){
        //路由传递参数:
        //第一种:字符串形式
        this.$router.push('/search/' + this.keyword +"?k=" + this.keyword.toUpperCase())
      }
    }
...
</script>
第二种:模板字符串
methods:{
   //搜索按钮的回调函数:需要向search进行跳转
   goSearch(){
     //路由传递参数:
     //第二种:模板字符串
     this.$router.push(`/search/${this.keyword}?k=${this.keyword.toUpperCase()}`)
   }
第三种:对象
/第三种:对象
 this.$router.push({name:"search",params:{jeyword:this.keyword},query:{k:this.keyword.toUpperCase()}})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值