组件中的data为什么必须是—个函数
- Vue中的组件是用来复用的,为了防止data复用(同-一个组件被复用多次会创建多个实例)。
- Vue组件中的data数据都应该是相互隔离,互不影响的,组件每复用一-次,data数据就应该被
复制一-次,之后,当某一处复用的地方组件内data数据被改变时,其他复用地方组件的data数据
不受影响,就需要通过data函数返回…
3.当我们组件中的data写成一个函数 数据以函数返回值形式定义,这样每复用一次组件,就会
返回一份新的data,拥有自己的作用域,类似于给每个组件实例创建一个私有的数据空间,让各
个组件实例维护各自的数据。
4.当我们的组件的data单纯的写成对象形式,这些实例用的是用一个构造函数,由于JavaScrip
的特性所导致,所有的组件实例公用了一个data ,就会造成全局污染。
vue 中的单向数据流
数据从父级组件传递给子组件,只能单向绑定,子组件不能直接修改从父级传递过来的数据数据只能从一个方向来修改状态, 如果父组件给 N 个子组件进行了数据传递。那么某一个子组件中修改了这个数据,那么就会导致其他组件的数据也会发生改变。这样会防止从子组件意外改变父级组件的状态,从而导致你的应用的数据流向难以理解。因此数据只能从一个方向来修改状态