返回组件实例的初始反应状态的函数。
类型
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。