请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这个export emitter 应该是个单例吧,如果是的话,一个页面有多个 from 组件的话,会造成影响吧。

添加回答

已采纳回答

同学 我们的 mitt的实例 不是在每个 Form 组件中都新建了一个吗?

export const emitter = mitt()

 

2020-10-10 17:34:20
  • 老师,看了这个问题我也有疑惑了,我们每次使用Form组件的时候,是每次都在全局创建了一个mitt实例吗?还是说每次创建的实例只存在于各个Form组件的内部?这是怎么做到的呢?
    2020-10-25 12:45:40
  • 提问者 XYXLI #2
    在 App.vue 中,使用两个 ValidateForm 组件,伪代码如下
    ```
    <template>
      <div class="container">
        <validate-form @form-submit="onFormSubmit">
          <div class="mb-3">
            <validate-input></validate-input>
          </div>
          <div class="mb-3">
            <label for="form-label">邮箱地址</label>
            <validate-input></validate-input>
          </div>
        </validate-form >
        <validate-form @form-submit="onFormSubmit">
          <div class="mb-3">
            <label for="form-label">邮箱地址</label>
            <validate-input></validate-input>
          </div>
          <div class="mb-3">
            <label for="form-label">邮箱地址</label>
            <validate-input></validate-input>
          </div>
        </validate-form >    
      </div>
    </template>
    ```

    然后在 ValidateForm 的 setup 函数中的 callback 中

    ```
        const callback = (func?: ValidateFunc) => {
          if (func) {
            funcArr.push(func)
            console.log(funcArr.length)
          }
        }
    ```

    打印的结果是 1、2、3、4 而不是 1、2、1、2
    2020-11-01 16:30:43

Vue3.0(正式版) + TS 仿知乎专栏企业级项目 深度剖析Vue3新特性

难度中级
时长17小时
人数959
好评度99.1%

Vue3.0 全家桶+TS ,带你完成前后端分离复杂项目,率先掌握vue3.0造轮子技能

讲师

张轩 Web前端工程师

曾在Apple、百度担任高级前端开发工程师,是《React全栈:Redux Flux webpack Babel整合开发》该书作者,拥有丰富的Web开发经验,喜欢追寻新技术,同时致力于前端工程化,并且有大型SPA项目的架构及开发经验。

意见反馈 帮助中心 APP下载
官方微信