-
将“path”参数替换为router中对应的“name”
-
不使用“params”传参,改为使用“query”传参
“params”参数需要由“name”参数引入,有且只有“name”字段时(“name”和“path”同时存在时不可以),“params”存入的值才可被获取。
“query”却可以在“name”和“path”两种情况下正常工作传值取值
methods:{
toArticle:function(index) {
this.$
router
.push({path:'/article',
params
:this.blogList[index]});
在article
中
接受不到
params
mounted(){
console.log(this.$route.
params
)
//这里输出undifined
导致这样的原因是因为
params
需要通过name来
获取
,这里就要明白query和
params
的区别了
本意:通过
获取
路由
中
的参数传入方法
中
调用接口
获取
数据。
**问题:**当时想的是使用mounted钩子实现,结果没有
获取
到参数(this.$route.query.class_id)
下面是我没解决时的代码:
mounted () {
this.getClassDetail()
methods: {
//
获取
班级信息
async getClassDetail () {
let res = await getClassDetail({
按道理前面已经设置了 localStore 和
vue
x了
路由
中
获取
代码两种都
获取
不到我要的角色信息
也不清楚是为什么,查了一下async 和await,后面我用console.
传参
是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,比如传个id
获取
个详情信息,今天咱们就来看看
Vue
中
是怎么实现这种传递参数得在
Vue
中
提供了两种方法来进行路由
传参
:query 和
params
,下面来看看他们两个得区别在哪里query语法:this.$
router
.push({path:"地址",query:{id:"123"}}); 这是传递参数this.$route.qu...
我们学习过
vue
路由之后知道,
vue
传参
有几种方式
1.
vue
路由
params
是根据name跳转的,通过
params
来传递参数
2.
vue
路由query是根据path跳转的,通过query来传递参数
通过路由属性
中
的name来确定匹配的路由,通过
params
来传递参数。
methods:{
toLink(id) {
this.$
router
.push({
name: 'systemConfig',
params
问题:在全局
路由守卫
中
想要通过store拿到异步请求的数据,
无法
拿到。
我们常见使用
vue
x,一般是这样的:
store模块文件写相关的数据信息,模块一test.js:
export default {
state: {
obj: {
count: 2
mutations: {
add(state){
return state.obj.count + 1
actions: {
方法一:使用query来传递参数 1.
传参
this.$
router
.push({path: ‘/’, query: {参数名: ‘参数值’})
2.接参this.$route.query.参数名。方法二:使用
params
1.
传参
this.$
router
.push({path: ‘/’, name: ‘’,
params
: {参数名: ‘参数值’}) 2.接参this.$route.
params
.参数名
.........