vue的data为什么要设计成函数返回一个对象而不是直接定义一个对象?

组件可能会被多次实例化,如果data是一个对象的话,所有的实例都会使用同一个数据对象,从而导致数据的混乱。而是用函数返回一个对象可以保证每个实例都拥有独立的数据对象,避免数据混乱。