我正在使用vue-router 4
。
我从this.$router.push()
传递了props对象。但是,当我打印出来时,我只得到了[object Object]
作为String
。
作为Object
,我如何才能获得以下结果
{
roomDimension: {
width: 15,
length: 20,
}
}
>>> in package.json
++++++++++++++++++++++++++++++
...
"vue-router": "4.0.0-rc.1"
...
++++++++++++++++++++++++++++++
>>> in router/index.js
++++++++++++++++++++++++++++++
import { createWebHistory, createRouter } from "vue-router";
import UploadRoom from "../views/UploadRoom.vue";
import EditRoom from "../views/EditRoom.vue";
const routes = [
...
{
path: "/upload-room",
name: "UploadRoom",
component: UploadRoom,
},
{
path: "/edit-room",
name: "EditRoom",
component: EditRoom,
props: true,
},
...
];
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
++++++++++++++++++++++++++++++
>>> in UploadRoom.vue
++++++++++++++++++++++++++++++
...
this.$router.push({
name: "EditRoom",
props: {
roomData: {
roomDimension: {
width: 15,
length: 20,
},
},
},
});
...
++++++++++++++++++++++++++++++
>>> in EditRoom.vue
++++++++++++++++++++++++++++++
...
import Model from "../components/Model.vue";
export default {
name: "EditRoom",
components: {
Model,
},
props: {
roomData: {
type: Object,
required: true,
}
},
data() {
return {
//
};
},
created() {
console.log(this.roomData)
// got like this >>> [object Object] <<<
}
};
...
++++++++++++++++++++++++++++++
发布于 2020-11-01 22:41:16
https://router.vuejs.org/guide/essentials/passing-props.html“当属性设置为true时,route.params将被设置为组件属性。”
你必须把props = true。如果没有它,您的数据将以$route.params.roomData格式传送。不是在道具里。
https://stackoverflow.com/questions/64629145
复制相似问题