vue 动态路由跳转的问题

img

img

img

如图,拼接上去的为什么是undefined,各位行行好,刚刚入门(*꒦ິ⌓꒦ີ)

你这个是一个list集合呀,不能这样写this.worklist.id,你应该先对集合进行遍历,将他们放到一个数组中去,然后使用query或者param进行带参路由跳转
如果这两个你不会,可以先看一下用法:https://www.cnblogs.com/aidixie/p/11082236.html

你代码贴全一点。很显然是this.worklist里没有id属性,而且worklist看上去像数组。

如果你worklist是数组的话,不应该用this.worklist[0].id来传送rck吗(建立在你目前的截图上)

worklist是数组,得取到下标才行,this.worklist[0].id,这表示去数组中第一个元素中的id

worklist是什么就是上面的哪个吗。看看这个https://www.jianshu.com/p/d276dcde6656


<template>
  <div>
    <div v-for="item in arr" @click="go(item.id)">{{item.name}}</div>
  </div>
</template>

<script>
  export default {
    data () {
      return {
        arr: [
          {
            id: 1,
            name: 'test'
          },
          {
            id: 2,
            name: 'test'
          }
        ],
      }
    },
methods: {
      go(id){
        this.$router.push({
          path: `/detail/${id}`
        })
      },
}
}

先别急,输出下this.worklist是什么,一个数组呀,朋友,他不是个对象,我们只能去获取数组的第几个对象.
所以要么用遍历循环像楼上的
或者this.worklist[0]来获取指定对象,然后通过对象获得对象的属性