Javascript 如何在Vue.js中获取道具值?
我想在Vue.js中获取prop值,因为我需要在组件中接收eid以进行验证,但我不知道如何才能做到这一点,如果我这样做的话。configs.eid未定义。另一种方法是将数据值从组件A发送到组件B 我有这个组件,我需要得到eid,然后插入到v-if中 另一种方法是将该数据从组件A发送到组件B 资料{ 返回{ 提波:弦, 链接:字符串, eid:0 }; } 在组件A中,我的道具是Javascript 如何在Vue.js中获取道具值?,javascript,vue.js,Javascript,Vue.js,我想在Vue.js中获取prop值,因为我需要在组件中接收eid以进行验证,但我不知道如何才能做到这一点,如果我这样做的话。configs.eid未定义。另一种方法是将数据值从组件A发送到组件B 我有这个组件,我需要得到eid,然后插入到v-if中 另一种方法是将该数据从组件A发送到组件B 资料{ 返回{ 提波:弦, 链接:字符串, eid:0 }; } 在组件A中,我的道具是 props: { configs: { type: Object } }, 我不
props: {
configs: {
type: Object
}
},
我不知道怎么弄到,有人知道吗/ 你的问题不清楚,没有定义哪个组件是A,哪个组件是B 看起来你可能把父母和孩子搞混了,所以我将试着向你展示如何通过这两种方式 如果要将eid从子流组件传递到父流以进行v-If检查(我认为是这样),则需要使用$emit,而不是prop: 组件A父级
<section v-if="event.id == 0">
<stream @get-event-id="getEventId"></stream>
</section>
data() {
configs: {
event: {}
}
},
methods: {
getEventId(id) {
this.configs.event.id = id
}
}
<section v-if="">
<stream :configs="{eid : event.id}"></stream>
</section>
data() {
event: {id: 0}
}
这样,如果流eid为0(如此处所示),则组件将不会渲染
但是,如果您需要将eid从父组件传递到流组件,它将如下所示:
组件A父级
<section v-if="event.id == 0">
<stream @get-event-id="getEventId"></stream>
</section>
data() {
configs: {
event: {}
}
},
methods: {
getEventId(id) {
this.configs.event.id = id
}
}
<section v-if="">
<stream :configs="{eid : event.id}"></stream>
</section>
data() {
event: {id: 0}
}
这样,您将在控制台中获得父级的eid。如果您试图将event.id作为属性发送到stream,那么您可以这样做
<section v-if="" >
<stream :eventId="event.id"></stream>
</section>
不太清楚你在问什么。您想在组件中获取eid值吗?@Phil我需要获取eid,因为它保存了我的事件id,然后我需要在v-if中进行比较以显示我的组件。我建议阅读文档,您必须在组件中定义一个道具部分。那么你所有的道具都可以用了。在模板中,它们的名称(例如configs)就是可用的。如果您处于两个标记之间,configs将以如下方式提供:this.configs.eid.抱歉,它仍然非常不清楚。请您对您的应用程序提供一个更好的概述。你们有什么组件?他们存储或提供什么数据,以及您试图在哪里访问这些数据?@nucleogenesis我的prop config在组件A props:{configs:{type:Object}},我需要在组件BFYI中获取eid,Vue强烈建议对所有自定义事件名称使用kebab大小写,例如,不要使用@getEventId,使用@get-event-id和$emit'get-event-id',this.event.id。看@Phil,真的!谢谢你提供的信息!相应地修改了答案。
export default {
name: "Stream",
props: ["eventId"]
}