老师,有个问题
来源:3-16 选择练习
生南国
2020-10-27 15:40:15
# 具体遇到的问题
vue这门课,在vm实例中,属性data(){}是怎么用的?跟data:{}区别在哪儿?
还是说data(){}是方法?可是方法不是都写在methods里面吗?
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<div id="app"></div>
<script>
var vm = new Vue({
el: "#app",
data: {
},
});
</script>
--------------------------------------------------------------------------
<div id="app"></div>
<script>
var vm = new Vue({
el: "#app",
data(){
},
});
</script>
在这里输入代码,可通过选择【代码语言】突出显示
1回答
同学你好,问题解答如下:
1.第二种方法,data中需要加一个return返回值,返回一个对象,如下图所示:

2.第一种方式是直接定一个对象,把数据放在对象中。第二种方法是在data方法中返回一个对象,数据也是放在对象中。区别在这里是看不出来的,实例上使用哪一个方式都行。应用在组件上,才能体现出来区别。因为同学还没有学习到后面的课程,老师简单的给你说一下,先提前了解一下就行。参考如下:
组件是可以复用的,例如定义一个组件a,那么页面可能会使用到好几次,例如使用了三次。如果定义数据使用第一种方式,那么三个组件使用的数据都指向同一个对象,即数据使用的同一份。假如改变其中一个组件的数据,其他两个会受到影响。所以才有了第二种定义数据的方式,这样一个组件使用三次,那么data方法会给每一个组件返回一个新的对象,也就是数据使用的不是同一份(可以理解为复制了三份)。改变其中一个组件的数据,其他的就不会受到影响了。
3.data是一个方法(方法就是函数),并不是所有方法都有放在methods中,只有我们自己定义的方法,才要放在methods中哦。
祝学习愉快~
相似问题