对于VueJS 2.0项目,我在父组件上有以下内容

<template>
<child></child>
<button @click="$emit('childEvent)"></button>
</template>

关于子组件,我有:

{
  events: { 'childEvent' : function(){.... },
  ready() { this.$on('childEvent',...) },
  methods: { childEvent() {....} }
}

点击按钮似乎没有任何效果.我是否需要创建一个父方法,然后将其发送给子方法?我用的是vuejs 1.但现在我对亲子沟通的方式感到困惑

推荐答案

而其他答案是正确的,通常可以使用数据驱动的方法.

我要为任何想要回答这个问题的人添加这个,他们需要的不是props .在试图将焦点设置在自定义表单组件中的特定输入时,我遇到了类似的问题.要做到这一点,我必须给自定义组件一个ref,然后这样做.

this.$refs.customInput.$emit('focus');
//or
this.$refs.customInput.directlyCallMethod();

这将访问子组件的vue实例,然后您可以发出该组件听到的事件.

Vue.js相关问答推荐

VueJS不会呈现一个名为None的组件""

检测Vue3/Vue-test-utils中的Vuex还原/Mutations

为什么元素会从Vue 3中的TransitionGroup左上角出现?

Vue 3 在一个值更改问题后再次重新渲染每一行

如何在 vue2.7 中删除 slot-scope

更改 Vuetify 轮播高度

Webpack - MiniCssExtractPlugin 不提取文件

Vuex:如何等待动作完成?

Vue动态mapGetters

VueJS:向左,元素的顶部位置?

在 vue.js 中获取当前时间和日期

Nuxt & Vuetify:如何控制 CSS 文件的加载顺序?

Transition-group children must be keyed...but they are keyed

如何在 Vue.js 中获取组件元素的 offsetHeight?

在Vue.js中从父组件执行子方法

我可以避免使用 Vue.js 组件的重复样式吗?

使用props向组件添加类名

Vuex 存储数据总是驻留在内存中?

从 vuex 存储访问 $vuetify 实例属性

Vue.js 显示空格(换行符)