vue项目 路由传参
web Vue 2022-11-17 757 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6415345 2611 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)
传参方法

字符串形式
this.$router.push(“/search/”+this.params传参+“?k=”+this.query传参)
模板字符串
this.r o u t e r . p u s h ( " / s e a r c h / + router.push("/search/+router.push("/search/+{this.params传参}?k=${this.query传参}")
注意: 上面字符串的传参方法可以看出params参数和’/'结合,query参数和?结合
http://localhost:8080/#/search/asd?keyword=asd
上面url中asd为params的值,keyword=asd为query传递的值。
对象(常用)
this.$router.push({name:“路由名字”,params:{传参},query:{传参})。

以对象方式传参时,如果我们传参中使用了params,只能使用name,不能使用path,如果只是使用query传参,可以使用path 。

// 路由传递参数:
			// 第一种:字符串形式
			// 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参数:属于路径当中的一部分,需要注意,在配置路由的时候,需要占位 ,地址栏表现为 /search/v1/v2
params参数对应的路由信息要修改为path: "/search/:keyword" 这里的/:keyword就是一个params参数的占位符
params传参问题
(1)、如何指定params参数可传可不传
  如果路由path要求传递params参数,但是没有传递,会发现地址栏URL有问题,详情如下:
  Search路由项的path已经指定要传一个keyword的params参数,如下所示:
  path: "/search/:keyword",
  执行下面进行路由跳转的代码:
  this.$router.push({name:"Search",query:{keyword:this.keyword}})
  当前跳转代码没有传递params参数
  地址栏信息:http://localhost:8080/#/?keyword=asd
  此时的地址信息少了/search
  正常的地址栏信息: http://localhost:8080/#/search?keyword=asd
  解决方法:可以通过改变path来指定params参数可传可不传 
  path: "/search/:keyword?",?表示该参数可传可不传

(2)、由(1)可知params可传可不传,但是如果传递的时空串,如何解决 。

 this.$router.push({name:"Search",query:{keyword:this.keyword},params:{keyword:''}})
 出现的问题和1中的问题相同,地址信息少了/search
 解决方法: 加入||undefined,当我们传递的参数为空串时地址栏url也可以保持正常
 this.$router.push({name:"Search",query:{keyword:this.keyword},params:{keyword:''||undefined}})

版权声明:本篇文章来源于网络。 来源链接

相关推荐
接口返回request failed with status code 500错误
Vue | 2023-02-20 2622
接口返回request failed with status code 500错误 登录界面,验证账号密码成功,但是返回500错误 可能原因:linux服务器,用tp5搭建的后台及接口,会生成一部分缓存文件,但是linux默认没有权限创建数据,所以,只要在缓存文件夹runtime添加写的权限即可
vue项目npm run serve默认浏览器打开
Vue | 2022-11-16 1879
1、在vue项目中,输入命令行  npm run serve   浏览器实现自动打开功能,需要添加 在配置文件(package.json)中添加 --open 2、浏览器自动打开后,可能会出现网址0.0.0.0:8080页面错误,见图 3、解决方法: 在--open后面再加上--...
评论:0条
评论加载中...
发表评论