Vue中为组件绑定数据为什么要使用data()函数而不使用data对象的方式
一个加数器的例子:
当前计数:{{counter}}
="../js/vue.js">
>
// 注册全局组件
Vue.component('cpn', {
template: '#cpn',
data(){
return {
counter: 0
}
}
});
new Vue({
el: "#num"
})
运行之后:
文章图片
这是将加数器组件使用了三次,现在点击第一个加数器按钮:
文章图片
第一个计数值增加了,但是后面两个计数没有增加,说明这三个组件实例并不是共用的同一个组件data数据对象。
使用data()方法返回数据对象:
data(){
return {
counter: 0
}
}
【Vue中为组件绑定数据为什么要使用data()函数而不使用data对象的方式】每一次返回的对象都是新的对象,会重新创建内存地址,
如果使用这种方式:
data: {
counter: 0
}
那么每个组件实例都会共享同一个数据对象,这会影响组件的独立使用。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- VueX--VUE核心插件
- 动态组件与v-once指令
- vue组件中为何data必须是一个函数()
- 用npm发布一个包的教程并编写一个vue的插件发布
- (六)Component初识组件
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- vuex|vuex 基础结构
- Vue源码分析—响应式原理(二)