首页 > 解决方案 > Vue:创建钩子中未定义函数

问题描述

我无法在创建钩子中调用函数。我总是收到错误“未定义 loadEmployees”。为什么这不起作用?

export default {
components: {
    AppointmentSlot
},
data: function() {
    return {
        employees: [],
        appointmentData : {
            date: Number,
            employee: String,
            slotSize: Number
        }
    }
},
methods: {
    onRequestSlots() {
        console.log(this.appointmentData.date);
    },
    loadEmployees: function() {
        console.log('loading...')
    }
},
created() {
    console.log('asd');
    loadEmployees();
}
}

当我在按钮单击时调用该函数而不是在create它工作...

我正在使用 Nuxt.js。这与错误有关吗?

标签: vue.jsnuxt.js

解决方案


loadEmployees应该调用this

this.loadEmployees()

new Vue({
  created() {
    this.loadEmployees();
  },
  methods: {
    loadEmployees() {
      console.log('loading employees...');
    }
  }
})
<script src="https://unpkg.com/vue@2.5.17"></script>


推荐阅读