From 2b0a6f01a8adc8182065fd1ac5086d8b35308ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=BD=B3=E6=95=8F?= <878083710@qq.com> Date: Mon, 20 Apr 2026 11:13:31 +0800 Subject: [PATCH 1/5] 1 --- .../20240420vue\347\254\224\350\256\260.md" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "\345\274\240\344\275\263\346\225\217/20240420vue\347\254\224\350\256\260.md" diff --git "a/\345\274\240\344\275\263\346\225\217/20240420vue\347\254\224\350\256\260.md" "b/\345\274\240\344\275\263\346\225\217/20240420vue\347\254\224\350\256\260.md" new file mode 100644 index 0000000..0eace65 --- /dev/null +++ "b/\345\274\240\344\275\263\346\225\217/20240420vue\347\254\224\350\256\260.md" @@ -0,0 +1,27 @@ +# 笔记 +## 基础认识Vue +1. Vue.js是基于HTML、CSS和JS构建的,是一个更轻量级的前端框架,文件体积小,加载速度快。 +2. Vue.js采用MVVM模式进行前端开发,是MVC模式本质上的改进版,目的是分离视图和模型,主要有低耦合、可重用、可独立开发、可测试。 +3. Model、View、ViewModel(当用户操作View时,ViewModel会感知到变化,并通知Model进行相应改变;反之,当Model发生改变,ViewModel也会感知到变化,并通知View进行更新。) +## 项目的创建方式 +``` +yarn create vite # 创建项目 +cd 项目名 # 进入文件夹 +yarn # 安装依赖 +yarn dev # 启动项目 +``` +## 项目的目录结构 +``` +my-vue3/ +├── node_modules/ # 项目依赖包(不用管) +├── public/ # 静态资源(图标等) +├── src/ # 【核心:我们写代码的文件夹】 +│ ├── assets/ # 图片、样式等资源 +│ ├── components/ # 公共组件 +│ ├── App.vue # 【根组件:所有页面入口】 +│ └── main.js # 【项目主入口:挂载Vue】 +├── .gitignore # git忽略文件 +├── index.html # 页面模板 +├── package.json # 项目配置、依赖 +└── vite.config.js # vite配置文件 +``` \ No newline at end of file -- Gitee From 764c907c342a9817b595f20f045801be1af050d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=BD=B3=E6=95=8F?= <878083710@qq.com> Date: Thu, 23 Apr 2026 11:18:59 +0800 Subject: [PATCH 2/5] 1 --- ...65\347\273\203\344\271\240\351\242\230.md" | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 "\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" diff --git "a/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" "b/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" new file mode 100644 index 0000000..39ed7d7 --- /dev/null +++ "b/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" @@ -0,0 +1,32 @@ +## 选择题 +1.在vue.js中,组件所需的数据和方法卸载(A.setup)函数中。 +2.用户为HTML元素的属性绑定数据的指令是(B.v-html)。 +3.在进行数据绑定时,不能被解析的JavaScript表达式是 [B.{{Var a=1}}]。 +4.使用reactive()函数定义响应式数据,数据类型不可以是(字符串) +## 判断题 +1.Vue.js实例是通过setup()函数创建的。(×) +2.Vue.js最基本的数据绑定方式是文本插值。(√) +3.使用双大括会将含有HTML元素的数据解释为HTML元素。(×) +4.Vue.js中,ref()函数可以定义任何类型的响应式数据。(√) +5.计算属性通过computer()函数定义,侦听器通过watch()函数定义。(×) +## 操作题 +``` + + + +``` -- Gitee From 5f924f53c789b1018fca4e854304b037f5f2218c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=BD=B3=E6=95=8F?= <878083710@qq.com> Date: Thu, 23 Apr 2026 11:19:35 +0800 Subject: [PATCH 3/5] 1 --- ...34\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" "b/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" index 39ed7d7..8439daf 100644 --- "a/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" +++ "b/\345\274\240\344\275\263\346\225\217/20260423\344\271\246\346\234\25446\351\241\265\347\273\203\344\271\240\351\242\230.md" @@ -8,7 +8,7 @@ 2.Vue.js最基本的数据绑定方式是文本插值。(√) 3.使用双大括会将含有HTML元素的数据解释为HTML元素。(×) 4.Vue.js中,ref()函数可以定义任何类型的响应式数据。(√) -5.计算属性通过computer()函数定义,侦听器通过watch()函数定义。(×) +5.计算属性通过computed()函数定义,侦听器通过watch()函数定义。(×) ## 操作题 ``` + + +``` +3. 简单案例:字符串拼接 +const firstName = ref('张') +const lastName = ref('三') + +const fullName = computed(() => { + return firstName.value + lastName.value +}) +4. 计算属性 vs 普通函数 + +• 函数:每次页面刷新都会执行,无缓存 + +• 计算属性:依赖值不变,只执行一次,优先用 computed +二、侦听器 watch + +1. 核心要点 + +• 监听数据变化,数据变就触发 + +• 无缓存,适合:异步请求、复杂业务、多步操作 + +• 可以拿到新值、旧值 + +2. 监听基础数据(ref) +``` +import { ref, watch } from 'vue' + +const count = ref(0) + +// 监听单个简单数据 +watch(count, (newVal, oldVal) => { + console.log('新值', newVal) + console.log('旧值', oldVal) +}) +``` +3. 监听对象 / 深层数据 +``` +import { reactive, watch } from 'vue' + +const user = reactive({ + name: '小明', + age: 18 +}) +// 监听对象单个属性(推荐,不用深度监听) +watch(() => user.age, (newVal) => { + console.log('年龄变了', newVal) +}) + +// 监听整个对象,需要 deep 深度监听 +watch(user, () => { + console.log('用户信息修改) +}) +``` \ No newline at end of file diff --git "a/\345\274\240\344\275\263\346\225\217/20260424\346\214\207\344\273\244\347\254\224\350\256\260.md" "b/\345\274\240\344\275\263\346\225\217/20260424Vue.js.md" similarity index 100% rename from "\345\274\240\344\275\263\346\225\217/20260424\346\214\207\344\273\244\347\254\224\350\256\260.md" rename to "\345\274\240\344\275\263\346\225\217/20260424Vue.js.md" -- Gitee