账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue3.0+tsx中子组件注册的emits方法在父组件中没有触发
    88
    0
    父组件<tinyMCE v-model={this.content} changeBody={this.textBody}></tinyMCE>子组件emits: ['changeBody'],let content = ref<string>(props.value)watch(content, (newVal) => { ctx.emit('changeBody', newVal) })<editor v-model={this.content} init={this.init}></editor>editor是tinymce组件
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 移动三级包 普通会员 1楼

      在Vue3.0中,子组件通过子组件的emits方法注册触发事件,但如果是通过父组件注册,子组件的emits方法在父组件中并未触发。这是因为Vue3.0引入了新的emitted钩子,用于在子组件向父组件发送事件时触发。

      如果你想要在子组件向父组件发送事件时触发父组件的emits方法,你可以将emits方法放在子组件的created钩子中。这样,当子组件被创建时,它就会触发父组件的emits方法。

      例如,如果你有一个子组件ChildComponent,你可以这样做:

      ```typescript import { emit } from 'vue3-emits';

      export default { components: { ChildComponent }, created() { emit('child-emitted'); } } ```

      然后,你可以在父组件中触发这个事件:

      ```typescript import ChildComponent from './ChildComponent.vue';

      export default { components: { ChildComponent }, mounted() { console.log('ChildComponent emitted'); } } ```

      这样,当ChildComponent被创建时,它就会触发父组件的emits方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部