返回組件實例的初始反應狀態的函數。
類型
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 })
相關用法
- Vue.js defineCustomElement()用法及代碼示例
- Vue.js directives用法及代碼示例
- Vue.js useSSRContext()用法及代碼示例
- Vue.js app.directive()用法及代碼示例
- Vue.js mergeProps()用法及代碼示例
- Vue.js app.config.warnHandler用法及代碼示例
- Vue.js pipeToWebWritable()用法及代碼示例
- Vue.js app.use()用法及代碼示例
- Vue.js v-pre用法及代碼示例
- Vue.js h()用法及代碼示例
- Vue.js serverPrefetch用法及代碼示例
- Vue.js customRef()用法及代碼示例
- Vue.js <Transition>用法及代碼示例
- Vue.js inject()用法及代碼示例
- Vue.js mixins用法及代碼示例
- Vue.js ComponentCustomProps用法及代碼示例
- Vue.js reactive()用法及代碼示例
- Vue.js ComponentCustomProperties用法及代碼示例
- Vue.js app.mount()用法及代碼示例
- Vue.js <component>用法及代碼示例
- Vue.js createRenderer()用法及代碼示例
- Vue.js onMounted()用法及代碼示例
- Vue.js createApp()用法及代碼示例
- Vue.js app.config.errorHandler用法及代碼示例
- Vue.js v-on用法及代碼示例
注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 data。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。