IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 初识 Vue-3.0 -> 正文阅读

[JavaScript知识库]初识 Vue-3.0

1. vue3与vue2的区别

性能提高 ,更支持ts, 增加Composition API, 移除$on ,移除过滤器 ,移除.snyc
Vue3中,可以在template中写多个根元素; 核心代码不一样: createApp(根组件).mount(‘public/index.html中的div容器’)
创建vue3的项目:vue create 项目名

2. Composition API 组合式优点:

功能代码组合维护,分散定义,组合使用 ;

3. optionAPI选择式 优点:

简单 上手容易 各项各司其职, 缺点:不方便复用 ,代码分散 ,反复横跳

对比:

在这里插入图片描述

4. setup函数

1. 是一个新的组件选项,是组建中的起点(入口);
2.它在beforeCreate之前执行 , 第一;
3.返回值是对象,和data很像 ,用来做模板渲染;如果在data()中也定义了同名的数据,则以setup()中为准。
4. setup中不能使用this, this执行undefined;
5. setup函数只会在组件初始化的时候执行一次;

5.生命周期:组合式:有7个钩子

  • setup 创建实例前

  • onBeforeMount 挂载DOM前

  • onMounted 挂载DOM后

  • onBeforeUpdate 更新组件前

  • onUpdated 更新组件后

  • onBeforeUnmount 卸载销毁前

  • onUnmounted 卸载销毁后

beforeCreate 和 created 变成了setup了

6.ref函数

作用:定义响应式数据的 (ref.value)
步骤
  1. 引入 import {ref} from ‘vue’
  2. 调用 : setup(){ ref(数据)}
  3. 导出: setup(){return {定义的值}}
注意 : .value 在setup中使用 模板中不用的

7. ref 声明引入

作用:获取dom或者组件的引用
步骤:

1.导入 import {ref } form ‘vue’
2.调用 传固定null ; const xx = ref(null) //数据变成响应式的 不加不会变得
3.导出 return { xx }
4.在模板中用 ref = ‘xx’

先申明ref响应式数据,返回给模版使用,通过ref绑定数据

8. reactive 函数

作用: 和ref差不多 这个是把复杂数据类型定义为响应式的
步骤:

1.导入 : import { reative } form vue’
2. 调用 :在setup 中 调用reative函数 并传入对象数据
3.导出: setip里的 return 中调

注意: 不用写 .value , 只能定义复杂数据类型

9. toRefs 函数

作用:对响应式数据进行解构 ,这样写可以保留响应式; 在模板中可以少写一个对象名
步骤:
  1. 引入 import { toRefs } form ‘vue’
  2. 使用 : setup () { return { …toRefs(xx) }}
注意: ref 和 reative
1.优先使用ref
2. 明确知道对象的里的属性的时候 用 reative 如:表单

10.computed函数–计算属性

作用 :根据已有的响应数据 生成新的响应数据
步骤:

1.导入: import { computed} form ‘vue’
2.使用: 在setup中执行computed函数,且传入回调函数 return出计算结果
3.导出:调用完之后 写在 setup 的 return 对象中

10.1 高级用法

const 计算属性名 =  computed({
  get () {
    // 当获取值自动调用
  },
  set (val) {
    // 当设置值自动调用,val会自动传入
  }
})
总结:
1. 给computed传入函数,返回值就是计算属性的值
2. 给computed传入对象,get获取计算属性的值,set监听计算属性改变

在v-model绑定计算属性: <input v-model="计算属性名" />

11.watch函数

作用:监听器; 基于响应式数据的变化执行回调逻辑
格式:
 三个参数 	
    参数一:	对象(要监听的响应式数据) / 数组(每个元素是响应式数据)  / get函数(返回要监听变化的响应式数据)
    参数二: 回调函数(newVal,oldVal)
	参数三: immdeiated:true / false 是否立即执行 是的话页面刷新也会调用 
									deep:true / false  --> 配合get函数

使用格式:

 watch( 数据|数组|get函数,
	(新值,旧值)=>{
		回调处理逻辑
	},{immediate:true|false, deep: true|false})

12.组件通信:

12.1 父传子:
父组件中: 通过props向子组件中传递
子组件中: 定义 props 接受父组件传递的数据
1.可以直接在 template 中使用
2. 如果想在setup中使用 ,需要补充props --> setup(props){}
12.2 子传父:
父组件中的 子组件上 定义自定义事件 @xxx=‘事件名’ <son @xxx=‘xxx’>
在子组件的setup里 emit调用
注意: emit 是在 setup(props , {emit})第二个参数里面解构出来的

13. v-model的语法糖

在setup的两个参数中获取props和emit
父传子 props: 使用 :modelValue 属性传递
子传父 emit 定义@update:modelValue事件监听

14. 依赖注入

14.1. 祖先元素传递后代元素
祖先元素中提供:provide(‘数据名1’, 数据名)
后代元素中使用:inject(‘数据名1’)

使用场景:

在这里插入图片描述

14.2 后代元素修改祖先元素

祖先元素提供数据且提供修改数据的方法: provide(‘函数f’,数据名)

后代元素获取数据并使用祖先元素传递的方法 inject(‘函数f’)

使用场景:

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:46:04  更:2021-07-14 10:47:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 16:16:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码