onmounted vue3_基于项目时间阐述vue3.0新型状态管理和逻辑复用方式

本文介绍了Vue3.0的组合API,包括setup、reactive、ref、computed、watchEffect、watch等,并通过一个TodoList项目展示了如何使用provide和inject进行状态管理,探讨了逻辑复用和组件间通信的新方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5cc023bb822e88e92240ed7ce5973994.png

作者:Mingle

转发链接:https://mp.weixin.qq.com/s/iOq-eeyToDXJ6lvwnC12DQ

前言

背景:2019年2月6号,React 发布 「16.8.0」 版本,vue紧随其后,发布了「vue3.0 RFC」

Vue3.0受React16.0 推出的hook抄袭启发(咳咳...),提供了一个全新的逻辑复用方案。使用基于函数的 API,我们可以将相关联的代码抽取到一个 "composition function"(组合函数)中 —— 该函数封装了相关联的逻辑,并将需要暴露给组件的状态以相应式的数据源的方式返回出来。

本文目的

本文会介绍Vue3.0「组合api的用法和注意点」。最后会用一个 Todolist 的项目实战,向大家介绍「Vue3.0的逻辑复用写法以及借用provide和inject的新型状态管理方式」

本文提纲:

  • 如何新建一个使用vue3.0的项目
  • conposition api
  • 逻辑复用(hook)和状态管理(provide+inject)
    • 结合项目实战,做一个todo list

正文

如何新建一个使用vue3.0的项目

接下来向大家简单介绍下如何尝鲜 -- 自己创建一个vue3.0的项目。

  1. 安装vue0-cli

我这边使用的是最新版本的vue-cli 4.4.0

npm install -g @vue/cli# ORyarn global add @vue/cli
  1. 将vue升级到bata版本
vue add vue-next
cc375244b3077948b8ae375f0c177f5a.png

ok了。就这么简单!

conposition api

#### 目录

  • 基本例子
  • setup()
  • reactive
  • ref
  • computed
  • watchEffect
  • watch
  • 生命周期
  • 依赖注入

基本例子

  
    
count is { { count.count }}
    
plusOne is { { plusOne }}
    count++  

setup

该setup功能是新的组件选项。它是组件内部暴露出所有的属性和方法的统一API。

调用时机

创建组件实例,然后初始化 props ,紧接着就调用setup 函数。从生命周期钩子的视角来看,它会在 beforeCreate 钩子之前被调用

模板中使用

如果 setup 返回一个对象,则对象的属性将会被合并到组件模板的渲染上下文

  
{ { count }} { { object.foo }}

setup 参数

  1. 「props」第一个参数接受一个响应式的props,这个props指向的是外部的props。如果你没有定义props选项,setup中的第一个参数将为undifined。props和vue2.x并无什么不同,仍然遵循以前的原则;
  • 不要在子组件中修改props;如果你尝试修改,将会给你警告甚至报错。
599c49673eb0c7ed91884f3b03745dd5.png
  • 不要结构props。结构的props会失去响应性。
2f869023aa21645c6be3273d58fa86c0.png

2.「上下文对象」第二个参数提供了一个上下文对象,从原来 2.x 中 this 选择性地暴露了一些 property。

const MyComponent = {  setup(props, context) {    context.attrs    cont
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值