javascript - 在 vue.js 组件模态窗口中传递变量
问题描述
最初的问题:我在 vue.js 中使用了一个模态窗口,它是从父模块启动的,代码如下:
<button v-on:click="openModal">Begin</button>
<Account v-if="showModal" :showModal=showModal></Account>
openModal 函数由以下部分组成:
openModal () {
this.showModal = true
}
由 vue 组件(名为 Account)组成的模态窗口正在正常打开。但是,我想将一个变量作为参数传递给我的组件,但我不确定如何实现它。
修改后的代码回答了我最初的问题。我在 Account 模块中添加了 :var="var" props 参数。
<button v-on:click="openModal()">Begin</button>
<Account v-if="showModal" :var="var" :showModal=showModal></Account>
并且还需要将“var:variable”添加到数据中:
data () {
return {
var: variable,
showModal: false
}
}
最后,组件中的道具:
props: ['var']
解决方案
我不确定您是在尝试将数据传递到组件中还是从组件中获取数据。
如果您将值传递给组件:
Vue.component('account', {
props: ['data'],
template: '<h3>{{ data }}</h3>'
})
<account data="some-value"></account>
如果您尝试从组件中发出值:
在你的组件内部
<button v-on:click="$emit('onChildClick', 'some-value')">
Click me
</button>
当你调用你的组件时
<Account v-if="showModal" :showModal=showModal v-on:onChildClick="getChildValue"></Account>
methods: {
getChildValue: function (payload) {
console.log(payload)
}
}
您可以在本文中了解有关组件之间传递数据的更多信息,请访问https://www.smashingmagazine.com/2020/01/data-components-vue-js/
希望这有帮助。
推荐阅读
- blazor - Blazor 组件未在 statechange 上调用 OnInitializedAsync,链式数据获取
- windows - 在带有 QProcess 的 Windows 64 位操作系统上使用 Qt 32 位套件编译 Qt 程序
- r - 如何使用 Rcpp::plugins(openmp) 制作可移植文件,该文件可以是 Rcpp::sourceCpp'ed
- visual-studio-code - 将 .sublime-syntax (YAML) 转换为 VSCode 兼容的语法
- java - SpringBoot + REST,Cross-Origin Request Blocked: 原因:CORS 请求没有成功
- python - 试图包装凯撒密码(Python)
- powerbi - 创建可视化的折线图和聚集柱形图
- mongodb - MongoDB中包含给定子字段的所有字段
- google-cloud-cdn - 如何在自定义响应头中使用“cdn_cache_id”?
- python - Pandas:使用混合数据类型对多索引数据框的多级列进行排序