当前位置: 首页 > news >正文

vue基本功

watchEffect和watch

watchEffect默认 immdiate 是 true,而且自动收集依赖
watch需要手动写依赖,immdiate 默认是 false

toRef和toRefs

toRef: 复制 reactive 里的单个属性并转成 ref
toRefs: 复制 reactive 里的所有属性并转成 ref

vue3中使用vuex

import { useStore } from ‘vuex’;
通过useStore 获取Vuex store实例

nextTick

推迟到下一个 DOM 更新周期之后执行

v-show和v-if

v-show只是切换元素的CSS属性,display:none

import()和defineAsyncComponent

  • 如果只需要简单的懒加载,直接使用 import() 是足够的。
  • 如果需要更复杂的加载逻辑(如加载中状态、错误处理、延迟加载等),则推荐使用 defineAsyncComponent。它基于 import() 的能力,进一步封装了异步加载的逻辑,提供了更丰富的功能,如加载状态、错误处理、延迟和超时等。

什么是SFC

Vue 的单文件组件 (即 *.vue 文件,英文 Single-File Component,简称 SFC)

为什么 data 选项是一个函数

每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据

Vue 是单向数据流

数据总是从父组件传到子组件,子组件没有权利修改父组件传过来的数据,只能请求父组件对原始数据进行修改

v-model

通过v-model实现双向绑定,注意这个跟单向数据流是两个不同的概念

beforeEnter

路由独享守卫是在单个路由配置中定义的钩子函数,它只对该路由的实例生效。路由独享守卫只有一个
在定义了全局混入后,所有 Vue 组件都会自动继承这些混入选项。例如:

mixin混入

1. 混入的合并策略

当混入对象与组件选项冲突时,Vue 会按照一定的策略合并它们:

  • 数据(data:混入的 data 会与组件的 data 合并,但组件的 data 优先级更高。
  • 方法(methods:混入的 methods 和组件的 methods 会合并,组件的同名方法会覆盖混入的方法。
  • 计算属性(computed:混入的 computed 和组件的 computed 会合并,组件的同名计算属性会覆盖混入的。
  • 生命周期钩子:混入的生命周期钩子会与组件的生命周期钩子合并,按顺序依次触发。
  • 其他选项:如 watchprops 等也会按照类似的方式合并。
2. 局部混入

局部混入的作用范围仅限于当前组件及其子组件,而全局混入会影响所有组件。

3. 注意事项
  • 局部混入的优先级:局部混入的优先级高于全局混入,但组件自身的选项优先级最高。

强制更新

vue3中没有vue2的$forceUpdate,但可以通过一下方式实现

  • 通过改变组件的 key,可以强制 Vue 重新渲染组件。<ChildComponent :key="componentKey" />

  • 使用 nextTick 强制触发更新

import { nextTick } from "vue";export default {setup() {const forceUpdate = async () => {await nextTick(); // 等待 DOM 更新完成// 重新触发更新逻辑};return { forceUpdate };}
};

vue2和vue3的区别

Vue 3 与 Vue 2 的主要区别:

1. 响应式系统
  • Vue 2

    • 使用 Object.defineProperty 实现响应式系统。
    • 只能劫持对象的属性(data 中的字段),无法监听数组索引或对象属性的动态添加。
  • Vue 3

    • 使用 Proxy API 实现响应式系统,这是 ES6 提供的更强大的代理机制。
    • 能够监听对象属性的动态添加、删除,以及数组索引的变化。
2. 性能优化
  • Vue 2

    • 使用虚拟 DOM(VNode)进行渲染,但渲染逻辑相对复杂。
    • 在大规模应用中,性能可能受限于渲染效率。
  • Vue 3

    • 重构了渲染器,引入了新的 Fiber 架构,类似于 React 16 的 Fiber 架构。
    • 支持增量渲染,即可以将渲染任务拆分为多个小任务,避免阻塞主线程。
3. Composition API
4. 生命周期钩子
5. 片段(Fragments)
  • Vue 2

    • 组件必须有一个根元素。
  • Vue 3

    • 支持片段(Fragments),允许组件返回多个根节点。
6. 异步组件
  • Vue 2

    • 异步组件通过工厂函数实现,返回一个 Promise。
    • 示例:
      const AsyncComponent = () => ({component: impor

http://www.mrgr.cn/news/93443.html

相关文章:

  • Manus AI使用指南(从说到做,知行合一)
  • GCC RISCV 后端 -- GCC Passes 注释
  • Tomcat之 配置https协议即SSL证书
  • Ubuntu 安装docker docker-compose
  • ubuntu 20.04下ZEDmini安装使用
  • 4.2 使用说明:手册写作利器VNote的使用
  • 【AIGC系列】6:HunyuanVideo视频生成模型部署和代码分析
  • nuxt2 打包优化使用“compression-webpack-plugin”插件
  • java中小型公司面试预习资料(一):基础篇
  • “深入浅出”系列之Linux篇:(13)socket编程实战+TCP粘包解决方案
  • 数据可视化大屏产品设计方案(附Axure源文件预览)
  • DeepSeek私有化部署5:openEuler 24.03-LTS-SP1安装docker
  • 每日一题----------枚举的注意事项和细节
  • Windows编译环境搭建(MSYS2\MinGW\cmake)
  • “深入浅出”系列之Linux篇:(10)基于C++实现分布式网络通信RPC框架
  • nodejs使用WebSocket实现聊天效果
  • 阿里云MaxCompute面试题汇总及参考答案
  • Linux基本操作指令1
  • zsh+Oh My Zsh+Powerlevel10k:打造简洁高效的终端环境
  • 为AI聊天工具添加一个知识系统 之138 设计重审 之2 文章学 引言之2 附加符号学附属诠释学附随工程学(联系)