<script>export default {data() {return {x1: undefined,x2: [],x3: {}}},methods: {t1() {...},t2() {}}}
</script>
export default是ES6的语法,意思是将这个东西导出,你要import 引入东西,导出了才能引用,data是一个函数是因为data是被很多组件共享的。
如果 data 是一个对象的话,每次实例化会造成所有的实例共享引用同一个数据对象。
data 是函数的话,每次创建一个新实例后,调用 data 函数,用return返回初始数据的一个全新副本数据对象,就避免了所有实例共享引用同一个数据对象。
1.关于export default,我只在本vue文件中使用,为什么还要导出?
export default是写组件用的,导出了才能在页面组件上引用。
2.既然return 是返回全新副本对象。那为什么methods里面的方法就不用return呢?按理说,肯定有相同名称的方法在不同的.vue文件里。
不同的.vue文件方法不会冲突是因为其方法只能在组件上使用,是其私有的,父组件直接调用不了子组件的方法的,所以才有了父子组件间的通信传递。
3.vue的文件可以看成是一个组件,
export default
只是为了导出去,说明这个vue文件是可以被别的组件import
的。4.data里需要写return的原因,文档里写的很明白。
为什么.vue文件需要使用export default