Vue.js Vue路由器-并非所有参数都被传递

Vue.js Vue路由器-并非所有参数都被传递,vue.js,vue-router,Vue.js,Vue Router,我有这个组件,它是ca;;被Vue路由器屏蔽。但并非所有参数都被组件接收。链接正常工作是因为浏览器URL创建正确,例如http://localhost:8080/dashboard/brands/1/car/1。但是,brandId不会被组件接收。它保持0 这是重定向到组件的我的链接: router-link tag="button" :to="{ name: 'CarDetail', params: { brandId:

我有这个组件,它是ca;;被Vue路由器屏蔽。但并非所有参数都被组件接收。链接正常工作是因为浏览器URL创建正确,例如
http://localhost:8080/dashboard/brands/1/car/1
。但是,
brandId
不会被组件接收。它保持0

这是重定向到组件的我的链接:

      router-link
        tag="button"
        :to="{ name: 'CarDetail', params: { brandId: brandId, id: car.id } }"
      >
        Link
      </router-link>
export default {
  name: "CarDetail",
  data() {
    return {
      car: {}
    };
  },
  props: {
    id: {
      type: Number,
      default: 0
    },
    brandId: {
      type: Number,
      default: 0
    }
  }
}
这是一个组件:

      router-link
        tag="button"
        :to="{ name: 'CarDetail', params: { brandId: brandId, id: car.id } }"
      >
        Link
      </router-link>
export default {
  name: "CarDetail",
  data() {
    return {
      car: {}
    };
  },
  props: {
    id: {
      type: Number,
      default: 0
    },
    brandId: {
      type: Number,
      default: 0
    }
  }
}

您在
parseProps
中缺少
brandId

const parseProps = r => ({ id: parseInt(r.params.id),brandId: parseInt(r.params.brandId)  });

parseProps看起来怎么样?我已经更新了代码。这只是一个确保id的类型为Number的函数。谢谢你,这解决了它。但是有没有一种更优雅的解析所有道具的方法呢?尝试一下
props:true,
而不是
props:parseProps,
@Stephen
props:true,
能解决你的问题吗?它不能解决问题。但最初的答案确实如此。