Vue中 name 有什么作用?data 为什么是函数而不是对象?

发布时间 2023-11-10 14:21:16作者: 煜火

Vue中 name 有什么作用?

  1. 项目使用 keep-alive 时,可搭配组件 name 进行缓存过滤

  2. DOM 做递归组件时需要调用自身 name

  3. vue-devtools 调试工具里显示的组见名称是由 vue 中组件 name 决定的

data 为什么是函数而不是对象?

  1. 组件中 data 是 Vue 的实例

  2. 组件共享 data 属性,当 data 的值是同一个引用类型的值时,改变其中一个会影响其它的 data

  3. 组件中的 data 写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的 data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份 data,就会造成一个变了全都会变的结果