Javascript 如何在Vue.js中获取道具值?

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 } }, 我不

我想在Vue.js中获取prop值,因为我需要在组件中接收eid以进行验证,但我不知道如何才能做到这一点,如果我这样做的话。configs.eid未定义。另一种方法是将数据值从组件A发送到组件B

我有这个组件,我需要得到eid,然后插入到v-if中

另一种方法是将该数据从组件A发送到组件B

资料{ 返回{ 提波:弦, 链接:字符串, eid:0 }; } 在组件A中,我的道具是


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"]
}