题目描述
题目来源及自己的思路
如图请问epxort default {....}里面参数为什么又得是data(),mounted(),这种,而有的是name: ,watch, components: ,这种,谢谢
相关代码
粘贴代码文本(请勿用截图)
如图请问epxort default {....}里面参数为什么又得是data(),mounted(),这种,而有的是name: ,watch, components: ,这种,谢谢
粘贴代码文本(请勿用截图)
13 回答12.9k 阅读
8 回答2.7k 阅读
2 回答5.1k 阅读✓ 已解决
9 回答1.7k 阅读✓ 已解决
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
6 回答1.5k 阅读
很明显 data(),mounted() 是方法, name 应该是字符串 ,watch, components 是对象;
你问得应该是 vue 里面为什么是这样的,
原因很简单, 你当前export 的这个大对象,是 vue 的组件对象,而组件对象将被多次调用, 如果 类似 mounted() 代表 vue 框架在实例化这个组件并完成 dom 渲染之后调用此函数,这类函数 还有 beforeMounted, created 等等叫做生命周期函数,其他一些也可以叫做配置参数。
其中 data 之所以使用 函数而非对象,原因是组件被复用之后,在不同的组件内部 data 应该是独立的对象,如果直接使用对象,那么 data 引用将会在不同实例中公用,因此使用 data 函数 来 return 一个独立的 data 状态。