VUEJS - 如何使用子组件中的数据变量到父组件中
我正在尝试将我的代码重构为几个组件,以便它看起来更具可读性和更清晰,但我对如何在父组件中使用数据变量子组件感到困惑。在 ModalIdentifier 中,addPI_ID
应该设置为 false
,以便我们单击 ADD
按钮,模态标识符将设置为 true,并且会弹出模态
ModalIdentifier.vue (child)
<template>
<v-dialog v-model="addPI_ID" width="600">
</v-dialog>
</template>
export default {
props: ["addPI_ID"],
}
addUser.vue(parent)
<template>
<div>
<modal-identifier :addPI_ID="false"></modal-identifier>
//there's button, if we click that modal identifier dialog will pops up
<v-btn
color="#8FC23E"
class="mt-3 mb-6"
@click="addPI_ID = true"
>ADD</v-btn>
</div>
</template>
这部分我很困惑,什么是更好的主意?
I'm trying to refactor my code into couple component, so that it looks more readable and cleaner, but I got confused how to use data variable child component in parent. In the ModalIdentifier the addPI_ID
it's supposed to set into false
so that we click ADD
button the modal identifier will set into true and modal will pop up
ModalIdentifier.vue (child)
<template>
<v-dialog v-model="addPI_ID" width="600">
</v-dialog>
</template>
export default {
props: ["addPI_ID"],
}
addUser.vue(parent)
<template>
<div>
<modal-identifier :addPI_ID="false"></modal-identifier>
//there's button, if we click that modal identifier dialog will pops up
<v-btn
color="#8FC23E"
class="mt-3 mb-6"
@click="addPI_ID = true"
>ADD</v-btn>
</div>
</template>
this part I got confused, what's the better idea ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
道具是给父母的 ->孩子
您可以使用 $emit for child -> 父级中的父级
:
在child中
希望有帮助! ;)
Props are for parent -> child
You can use $emit for child -> parent
in parent:
in child:
hope it helps! ;)
我不确定我是否正确理解你的问题,但我认为你不应该将“false”传递到父级中的模态标识符元素中。您应该传入 addPI_ID 的实际值,如下所示:
如果尚未声明,您还应该在父级中声明一个变量 addPI_ID:
I am not sure if I understood your question correctly, but I think you shouldn't be passing "false" into modal-identifier element in the parent. You should pass in the actual value of addPI_ID, like this:
You should also declare a variable addPI_ID in the parent if you haven't already: