vue的setup函数

 为了开始使用Composition API,我们需要有一个可以实际使用它(编写代码)的地方;
 在Vue组件中,这个位置就是 setup 函数;
◼ setup其实就是组件的另外一个选项:
 只不过这个选项强大到我们可以用它来替代之前所编写的大部分其他选项;
 比如methods、computed、watch、data、生命周期等等;

0.最基础的setup使用





1.setup实现计数器

因为setup定义的数据非响应式,counter不能即时改变,所以引入了ref函数和.value属性

这里可以看到原本的method,data,computed都放在了setup内部,功能模块的实现由分散变为集中


 

 

vue的setup函数_第1张图片

 2.reactive api 实现响应式

如果想为在setup中定义的数据提供响应式的特性,那么我们可以使用reactive的函数:
◼ 那么这是什么原因呢?为什么就可以变成响应式的呢?
 这是因为当我们使用reactive函数处理我们的数据之后,数据再次被使用时就会进行依赖收集;
 当数据发生改变时,所有收集到的依赖都是进行对应的响应式操作(比如更新界面);
 事实上,我们编写的data选项,也是在内部交给了reactive函数将其编程响应式对象的;

但是reactive不可用对应简单的数据比如单纯的counter使用,可以对对象使用

但是注意要import此函数


 

 

vue的setup函数_第2张图片

 下方使用了响应式数据,点击按钮会响应式变化,上面则不会

3.ref api实现简单数据响应式

reactive API对传入的类型是有限制的,它要求我们必须传入的是一个对象或者数组类型:
 如果我们传入一个基本数据类型(String、Number、Boolean)会报一个警告;
◼ 这个时候Vue3给我们提供了另外一个API:ref API
 ref 会返回一个可变的响应式对象,该对象作为一个响应式的引用 维护着它内部的值,这就是ref名称的来源;
 它内部的值是在ref的 value 属性中被维护的;
◼ 这里有两个注意事项:
 在模板中引入ref的值时,Vue会自动帮助我们进行解包操作,所以我们并不需要在模板中通过 ref.value 的方式来使用;
 但是在 setup 函数内部,它依然是一个ref引用, 所以对其进行操作时,我们依然需要使用 ref.value的方式;


 

 

vue的setup函数_第3张图片

 


 

你可能感兴趣的:(vue.js,前端,javascript)