vue单文件中,模板怎么调用自身

<template>
</template>

<script>
import list from './list.vue';
import axios from 'axios';

export default {
  name: 'app',
  data() {
    return {
        history: [],
    }
  },
  beforeCreate() {
    const vm=this;
    //调用模板自身
  },

   methods: {
    
    getData(str) {
      axios.get('https://gank.io/api/day')
        .then(function (r) {
         //调用模板自身
        })
    }
  },
}
</script>

<style>
</style>

在一个vue单文件组件中,我想知道在beforeCreate或者在methods中怎么获取到自身的data,只能通过this吗?????这样每写一个方法中都有带一个this声明,感觉应该有更好的方法

阅读 5.4k
2 个回答

不是很明白题主的意图 beforeCreate是回调钩子 this.history就已经能够获取到你的data
而getData()这个事件.因为你使用了axios这样的写法then里面或许会改变this.所以在外面定义一个let _this=this就可以
还有 如果你用es6的箭头函数 就能完美解决这个问题了

axios.get('https://gank.io/api/day')
        .then( (r) => {
         console.log(this.history)
        })

就是通过this来调用,官方用法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题