路由传参

一、路由传递参数(对象方法)path是否可以结合params参数一起使用?

路由跳转传递参数的时候,对象的写法可以是name、path形式,但需要注意的是,path这种写法不能与params参数一起使用。

//路由传参

// 第一种:字符串形式

// this.$router.push("/search/" + this.keyword+"?k="+this.keyword.toUpperCase());

//第二种:模板字符串

// this.$router.push('/search/$this.keyword}?k=${this.keyword.toUpperCase()}');

//第三种:对象

this.$router.push({ name: "search", params: { keyword: this.keyword }, query: { k: this.keyword.toUpperCase() } })

二、如何指定params参数可传可不传

如果路由要求传递params参数,但是你就不传,URL会有问题

指定params参数可传可不传,在配置路由的时候,在占位的后面加上一个问号【params可传可不传】

三、params参数可传可不传,但是如果传递空串如何解决

使用undefined解决

this.$router.push({ name: "search", params: { keyword: ' ' || undefined }, query: { k: this.keyword.toUpperCase() } })

四、路由组件能不能传递props数据?

可以,三种写法

this.$router.push({ name: "search", params: { keyword: this.keyword }, query: { k: this.keyword.toUpperCase() } })

//布尔值写法:params

//props:true,

//对象写法:额外的给路由组件传递一些props

//props:{a:1,b:2}

//函数写法:可以params参数、query参数,通过props传递给路由组件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值