首页 > 解决方案 > Vue,访问组件方法

问题描述

尝试从插件配置中访问组件功能时遇到问题。例如,我想这样使用 vue-flatpickr:

  mounted() {
    this.flatpicker = flatpickr(this.$refs.dateInput, {
      onChange(date) {
        this.$emit("dateChanged", date);
      }
    });
  }

但是,我收到一个错误

未捕获的类型错误:this.$emit 不是函数

问题不仅在于 emit,还在于方法部分中定义的任何函数,因为this指向插件的实例。我意识到这可能不是一个适当的方法,我愿意接受任何建议!

标签: vue.js

解决方案


你有没有试过这个:

  mounted() {
    var self = this;
    this.flatpicker = flatpickr(self.$refs.dateInput, {
      onChange(date) {
        self.$emit("dateChanged", date);
      }
    });
  }

推荐阅读