Vue内部data()工厂函数

时间:2017-05-02 12:16:27

标签: javascript vuejs2 vue-resource

我可以依赖this内部数据工厂函数,因为它是当前的组件对象实例吗?我在文档中找不到thisdata()的内容。

data() {
  return {
    results: [],
    apiResource: this.$resource('url...'), // <-- this used here
    loading: true,
  }
},

简单测试显示thisVueComponent实例,但问题是框架是否允许以这种方式使用它。

2 个答案:

答案 0 :(得分:1)

是的,您可以依赖指向组件的数据工厂函数中的this,具体取决于您定义函数的方式。例如,这是使用属性值初始化本地数据的主要方法。

props:["value"],
data(){
    return {
         localValue: this.value
    } 
}

但是,如果您使用箭头功能定义数据函数,则this作为组件。

props:["value"],
data: () => { 
    // 'this' is NOT the component 
    return { 
        localValue: this.value // results in undefined
    } 
}

答案 1 :(得分:0)

我认为不是 也许你需要

data() {
  return {
    results: [],
      set apiResource(v){},
      get apiResource()( return this.$resource('url...')), // <-- this used here
    loading: true,
  }
},