尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Vue3快速笔记

Vue3快速笔记
📅 发布时间:2026/6/20 17:32:29

vue3快速笔记

  • 参考地址:https://blog.csdn.net/sq91fra/article/details/135963246

  • 在vue3中,一个vue组件必不可少的标签只有<template>,其余两个都可以省略

  • 基础示例: 插值语法演示

// App.vue<script setup>
......
const message = "Hello World.vue"
</script><template><h1>这是App根组件</h1><hr /><p>生成一个随机数字:{{(Math.random()*10).toFixed(2)}}</p><div>{{message}}</div></template><style scoped>
......
</style>
  • 响应式数据演示:
    • 注意:以下示例中,随机数也会一起更新
<script setup>
import HelloWorld from './components/HelloWorld.vue'
import TheWelcome from './components/TheWelcome.vue'import {ref} from 'vue'const count = ref(0)
function increment () {count.value++console.log(count)
}
</script><template><h1>这是App根组件</h1><hr /><p>生成一个随机数字:{{(Math.random()*10).toFixed(2)}}</p><button @click="increment">Count值为: {{count}}</button>
</template><style scoped>
......
</style>

这是因为 Vue 的响应式更新机制 导致的。

原因分析

  1. 响应式依赖追踪
    当你在模板中使用 {{ count }} 时,Vue 会建立依赖关系:模板依赖于 count 这个响应式变量。

  2. 组件重新渲染
    当你点击按钮调用 increment() 时:

    • count.value++ 修改了响应式数据
    • Vue 检测到响应式数据变化
    • 触发整个组件的重新渲染(Template会重新更新,故表达式会被重新计算)
  3. 模板重新执行
    在重新渲染过程中,模板中的所有表达式都会重新计算,包括:

    <p>生成一个随机数字:{{(Math.random()*10).toFixed(2)}}</p>
    

    所以每次点击按钮,随机数都会重新生成。

解决办法,使用computed缓存

<script setup>
......import {ref,computed} from 'vue'const count = ref(0)
const randomNumber = computed(()=>(Math.random()*10).toFixed(2))function increment () {count.value++console.log(count)
}</script><template><h1>这是App根组件</h1><hr /><p>生成一个随机数字:{{randomNumber}}</p><div><button @click="increment">Count值为: {{count}}</button></div></template><style scoped>
......
</style>

两种API

  • Vue3 引入了许多新特性和优化,其中包括对 Composition API (组合式 API)的添加,它作为新的核心特性与原有的 Options API(选项式 API ) 一起工作
- 选项式 API 是 Vue.js 传统的组件写法,适合简单的组件和初学者。选项式 API 的优点是结构清晰,易于理解和上手。但是,当组件变得复杂时,相关的逻辑会分散在不同的选项中,使得代码组织和重用变得困难。- 组合式 API 是 Vue 3 引入的新特性,提供了更灵活的代码组织和重用方式,可以更容易地将相关的逻辑组合在一起,并且可以跨组件重用这些逻辑。这对于编写大型和复杂的组件尤其有用。- 开发者可以根据自己的需求选择使用 Options API 或 Composition API,两者可以共存于同一个组件中。这使得开发者可以渐进式地升级现有项目到 Vue 3,同时享受 Composition API 带来的灵活性。

setup函数介绍(和vue2中的data写法类似)

  • 使用了Vue 3的Composition API,但是以选项式API的写法在``标签中使用了setup函数举例
<script>import {reactive} from "vue";export default {setup(){ // Composition API的入口,在组件创建前执行let msg = "Hello"; // 普通变量 - 非响应式let stu = reactive({ // 声明响应式对象name:'cxk',age:18,gender:'女',hobby:{hobby1:'唱',hobby2:'跳',hobby3:'Rap',hobby4:'篮球',}});return { // 最后返回模板需要的数据msg,stu}}
}</script><template><h1>{{msg}}</h1><hr><h2>大家好,我是{{stu.name}},喜欢{{stu.hobby.hobby1}},{{stu.hobby.hobby2}},{{stu.hobby.hobby3}},{{stu.hobby.hobby4}}</h2></template><style scoped>
......
</style>
  • setup函数这种写法,和vue2中的data写法很类似
// Vue 2 写法
export default {data() {......return {msg: "Hello",stu: {name: 'cxk',// ...}}}
}// Vue 3 写法
export default {setup() {let msg = "Hello";let stu = reactive({name: 'cxk',// ...});return { msg, stu };}
}

相关新闻

  • 详细介绍:技术实践:在基于 RISC-V 的 ESP32 上运行 MQTT over QUIC
  • 2025广州有哪些办理出国留学机构
  • 2025北京留学中介机构名单

最新新闻

  • 如何在5分钟内免费解锁Microsoft 365完整功能:终极激活指南
  • Wireshark中HTTPS证书分析与导出:从原理到实战的完整指南
  • 2026年北京应急电力设备、发电机、发电车租赁服务商精选:运力稳定与服务合规兼具的用电保障选择指南 - 海棠依旧大
  • Liferay集合提供程序授权缺失漏洞(CVE-2023-33952)深度剖析与修复
  • 番茄小说下载器完整指南:免费开源工具实现小说永久保存
  • 5步实战:用HunterPie解锁你的《怪物猎人世界》深度狩猎体验

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号