【发布时间】:2021-09-11 16:56:49
【问题描述】:
我有一个 vue 模态组件,我在其中定义了一个带有一个数组的道具,我想稍后将其传递给另一个打开模态的组件。但是当我尝试访问我的模态组件中的道具时,我收到了未定义的错误。即使稍后在我的代码中识别出该道具,我也无法修复它,但它是未定义的。有人可以看看我的代码吗?
脚本:
<script>
import axios from "axios";
export default {
name: "AddGroupsModal",
data : ()=>({
model : [],
}),
props:{
newGroup: []
},
methods: {
generateGroup(){
const newMeeting = {meetingUrl: "", meetingName: "", date: this.selectedDate,
startTime: "", endTime: ""};
let finalMeetingArray = [];
this.model.forEach((model, i) => {
const key = `participant${i + 1}`;
newMeeting[key] = model.voterUniqueName;
newMeeting.startTime = model.startTime;
newMeeting.endTime = model.endTime
})
finalMeetingArray.push(newMeeting)
this.newGroup.push(newMeeting)
console.log(JSON.stringify(this.newGroup)
}
}
}
</script>
【问题讨论】:
-
调用时如何将 prop 传递给组件?
-
现在我根本没有传递它,只是试图将它填充到定义 prop 的组件中。我是否必须通过它才能使它不是未定义的?
-
我现在的问题不是传递它,而是定义 prop 的组件说它是未定义的
-
您正在以正确的方式访问该道具,但该道具内没有任何内容,这就是它说它未定义的原因。
undefined是 JS 告诉你这个变量没有值的方式。你要么需要为这个道具设置一个默认值,要么给它传递一些东西。 -
不,这不是办法,应该是:
props: { newGroup: { type: Array, default: [] } }
标签: javascript typescript vue.js vuetify.js