为什么list的内容return出去的时候一定要是一个对象才生效呢,就是说为什么要return {list},但是写return list就不行

来源:7-3 使用单文件组件编写 TodoList

慕九州9216501

2023-03-27

写回答

3回答

黎先生s

2023-03-28

setup函数的返回值

setup的返回值可以在模板template中被使用,其实我们可以理解成通过setup函数的返回值来替代data选项。

就好像vue2中return一样的
data(){ 
  return {
      num:123     
  }
}

因为不使用包裹的数据会在项目的全局可见,造成变量污染;使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件。

参考vue2中为什么data是一个函数:

vue组件为了保证每个实例上的data数据的独立性,规定了必须使用函数,而不是对象。 因为使用对象的话,每个实例(组件)上使用的data数据是相互影响的,这当然就不是我们想要的了。 对象是对于内存地址的引用,直接定义个对象的话组件之间都会使用这个对象,这样会造成组件之间数据相互影响

1
1
慕九州9216501
谢谢!
2023-03-28
共1条回复

黎先生s

2023-03-28

不要问为什么 记住就行了 以后return {}

1
0

Dell

2023-06-08

return 对象出去,是 vue 的开发要求

0
0

Vue3入门与项目实战 掌握完整知识体系

明星讲师DELL亲授,全方位知识点+高匹配度项目,入门到深度掌握

3382 学习 · 1454 问题

查看课程