在创建的组件挂钩中未定义mixin方法

时间:2018-11-19 11:28:03

标签: vue.js vuejs2 mixins

<template>

  <section>    
    <a href="#toper" class="cd-top" v-on:click="getTemplates()">Top</a>
  </section>


</template>


<script>    
  import api from '../../server/api.ts';

  export default {
  name: 'Questions',
  mixins: [api],
  data() {
   return {  
    templates : getTemplates(),  
   };
  },
  created() {
    //  **[Vue warn]: Error in created hook: "ReferenceError: getTemplates is not defined"**
    this.templates = getTemplates();    
  },  
  };
</script>

如果我单击链接,但是在Vue js组件的所有生命周期中得到错误,getTemplates函数将正常工作。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您忘记了该功能的this。加载mixins具有与实际内容相同的效果。您需要以与调用本地函数相同的方式来调用方法。始终与this在一起。

因此将其更改为:

created() {
    this.templates = this.getTemplates();    
},