Vue组件data必须是函数的理解
我们先来看data的几种写法:1、var app=new Vue({el:'#app',data:{isLogin: false}})2、var app=new Vue({el:'#app',data: function(){
·
我们先来看data的几种写法:
1、
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
isLogin: false
}
})
</script>
2、
<script type="text/javascript">
var app=new Vue({
el:'#app',
data: function(){
return {
isLogin: false
}
}
})
</script>
3、
<script type="text/javascript">
var app=new Vue({
el:'#app',
data() {
return {
isLogin: false
}
}
})
</script>
第三种是第二种的ES6写法。
一、在简单的Vue实例中,1、2写法没有什么区别,因为你的app对象不会被复用
var app = new Vue({...})
二、但是在组件中,因为可能在多处调用同一组件,为了不让多处的组件共享同一data对象,只能返回函数。
data为对象的话会报错,为了理解这种机制,我们假设data为一个对象,那么这同一个对象有可能被很多实例共享,一个实例改变其它也会跟着变,这明显是不对的。而通过data函数,每新建一个实例,都会调用data来return一组新的原始数据。
更多推荐
已为社区贡献4条内容
所有评论(0)