今天老师提出了这个问题,记录一下。
vue组件为什么data是函数?
vue中组件是用来复用的,为了防止data复用,将其定义为函数。
data是一个函数时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响。
date写成对象形式, 每个组件的data都是内存的同一个地址,一个数据改变了其他也改变了。
Vue.component('my-component', {
template: '#tmp1',
data () {
return {
title: '我是组件内的title',
}
}
})
为什么new Vue这个里面的data可以放一个对象?
因为这个类创建的实例是不会被复用。它只会new一次,不用考虑复用,所以放一个对象即可。
var vm = new Vue({
el: '#app',
data: {
title: '我是vm实例的title'
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/147517.html