當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Vue.js data用法及代碼示例

返回組件實例的初始反應狀態的函數。

類型

interface ComponentOptions {
  data?(
    this: ComponentPublicInstance,
    vm: ComponentPublicInstance
  ): object
}

細節

該函數預計將返回一個普通的 JavaScript 對象,該對象將由 Vue.js 進行響應。創建實例後,可以通過 this.$data 訪問原始數據對象。組件實例還代理在數據對象上找到的所有屬性,因此 this.a 將等效於 this.$data.a

一旦觀察到,您就不能再將反應屬性添加到根數據對象。因此,建議在創建實例之前預先聲明所有root-level 反應屬性。

開頭的屬性_或者$將要不是在組件實例上代理,因為它們可能與 Vue 的內部屬性和 API 方法衝突。您必須以this.$data._property.

不建議返回具有自己有狀態行為的對象,例如瀏覽器 API 對象和原型屬性。理想情況下,返回的對象應該是一個僅表示組件狀態的普通對象。

示例

export default {
  data() {
    return { a: 1 }
  },
  created() {
    console.log(this.a) // 1
    console.log(this.$data) // { a: 1 }
  }
}

請注意,如果您使用帶有data 屬性的箭頭函數,this 將不是組件的實例,但您仍然可以將實例作為函數的第一個參數來訪問:

data: (vm) => ({ a: vm.myProp })

相關用法


注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 data。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。