vue.js - 从外部触发组件
问题描述
所以我正在尝试创建一个可重用的模态组件。v-if
我如何才能真正传递从组件外部触发的 toggleModal事物?此外,我不希望出现这样一种情况,即我在一个组件中获得了 2 个模态,并且通过触发一个,它会打开所有这些模态,而不是仅打开我单击的那个。我应该如何处理这个?
<div class="modal" v-if="toggleModal">
..content
</div>
props: {
title: {
type: String,
default: 'Title',
},
},
setup() {
let toggleModal = ref(true)
return { toggleModal }
},
解决方案
您可以添加另一个属性 toggleModal ,这样当它在父组件中更改时,它会直接在子组件中更改在父组件中:
<template>
<Modal :toggleModal="toggleModal1" v-on:ok="toggleModal1=false" />
<Modal :toggleModal="toggleModal2"/>
</template>
data() {
return{
toggleModal1: false,
toggleModal2: true,
}
}
在子组件中:
props: {
title: {
type: String,
default: 'Title',
},
toggleModal: {
type: Boolean,
default: false,
},
},
推荐阅读
- r - 从 R 中的区间 [start, stop] 数据估计密度
- android - Android firestore 检索数据地图
- cobol - PeopleSoft Cobol 指令
- dapper - 如何使用 Dapper Extensions Predicate 实现“NOT IN”子句?
- vbscript - 随机重新排列单词中的字母
- javascript - 手风琴只打开一次然后出现故障
- python - 在 Windows 10 上安装 cusignal
- java - 如何在 Java 中的 if 语句中使用事件对象作为条件?
- git - Git切换分支忽略分支名称大小写
- c++ - AWS SDK C++ 安装/Embarcadero:CMake 错误 -fPIC