javascript - 是否有一种简单的方法可以从 vue 中的一个组件调用方法到另一个组件
问题描述
我有两个组件,App.Vue
和CoinList.vue
,但是我在调用方法时遇到了一些问题,代码如下:
片段App.vue
<q-list>
<q-item clickable v-close-popup @click="cct">
<q-item-section avatar>
₦
</q-item-section>
<q-item-section>NAIRA</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="changeToUsd()">
<q-item-section avatar>
$
</q-item-section>
<q-item-section>USD</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="changeToEur()">
<q-item-section avatar>
€
</q-item-section>
<q-item-section>EUR</q-item-section>
</q-item>
</q-list>
片段CoinList.vue
methods: {
getCoinsData: function () {
...
},
changeToNgn: function () {
...
},
changeToUsd: function () {
...
},
changeToEur: function () {
...
},
},
我希望点击事件App.vue
调用函数,CoinList.vue
但它似乎不起作用。我在某处读到了有关事件总线的信息,但我似乎无法掌握它,如果无论如何我可以得到帮助,我将非常感激。
解决方案
ref
您可以使用如下指令调用子组件方法:
说明ref
:
<coin-list ref="coinList" />
用它
changeToEur () {
this.$refs.coinList.changeToUsd()
}
推荐阅读
- read-the-docs - 如何修复“readthedocs”上的错误“重复构建”?
- python - 第二个窗口中的按钮不起作用
- kubernetes - Kubernetes Cronjob 标记
- c# - 程序未能计算饮料和总人数
- laravel - Laravel/Cache 如何为所有键设置默认时间戳
- javascript - 递归等待的承诺在解决后什么都不做
- angular - 解决 ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it is checked
- kubernetes - 从 DaemonSet 中的每个 Pod 中抓取指标
- python - 如何创建和打开集成 tkinter 和 Reportlabs 包的 pdf?
- android - 用于在 Scrollview 中移动 Google Map 的 Android SupportMapFragment