diff --git "a/\350\222\213\347\273\215\346\264\213/20260420-\345\210\235\350\257\206Vue\347\254\224\350\256\260.md" "b/\350\222\213\347\273\215\346\264\213/20260420-\345\210\235\350\257\206Vue\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..0eace656cbdd2d733268e7287fe1dffa56970173 --- /dev/null +++ "b/\350\222\213\347\273\215\346\264\213/20260420-\345\210\235\350\257\206Vue\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 diff --git "a/\350\222\213\347\273\215\346\264\213/20260422-\346\225\260\346\215\256\347\273\221\345\256\232.md" "b/\350\222\213\347\273\215\346\264\213/20260422-\346\225\260\346\215\256\347\273\221\345\256\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..0b670b4f50f903056dc5b119649e8f9deff27e54 --- /dev/null +++ "b/\350\222\213\347\273\215\346\264\213/20260422-\346\225\260\346\215\256\347\273\221\345\256\232.md" @@ -0,0 +1,48 @@ +# 2026-04-22 数据绑定 + +## 数据绑定概念 + +数据绑定是 Vue 的核心功能之一,指的是将数据与视图模板关联起来,使得数据变化时视图自动更新。 + +## 插值绑定 + +在模板中使用双花括号语法进行文本插值: + +```html +
输入内容:{{ name }}
+``` + +## 常见场景 + +- 表单输入 +- 切换样式和类 +- 动态显示/隐藏元素 + +## 小结 + +数据绑定让 DOM 和 JavaScript 数据保持同步,中间无需手动操作 DOM,是 Vue 高效开发的重要基础。 \ No newline at end of file diff --git "a/\350\222\213\347\273\215\346\264\213/20260423-\350\256\241\347\256\227\346\234\272\345\261\236\346\200\247\344\270\216\344\276\246\345\220\254\345\231\250.md" "b/\350\222\213\347\273\215\346\264\213/20260423-\350\256\241\347\256\227\346\234\272\345\261\236\346\200\247\344\270\216\344\276\246\345\220\254\345\231\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..36bd74a9f4e8cc14a9ed1bd9a6bd3eeadab335d3 --- /dev/null +++ "b/\350\222\213\347\273\215\346\264\213/20260423-\350\256\241\347\256\227\346\234\272\345\261\236\346\200\247\344\270\216\344\276\246\345\220\254\345\231\250.md" @@ -0,0 +1,59 @@ +# 2026-04-23 计算属性与侦听器 + +## 计算属性(computed) + +计算属性用于基于已有数据生成新的值,并且会根据依赖自动缓存。 + +```js +const app = Vue.createApp({ + data() { + return { + firstName: '张', + lastName: '三' + } + }, + computed: { + fullName() { + return `${this.firstName} ${this.lastName}` + } + } +}) +``` + +### 特点 + +- 依赖于响应式数据 +- 只有在依赖发生变化时才重新计算 +- 适合用于模板中复杂表达式的封装 + +## 侦听器(watch) + +侦听器用于观察数据变化并执行副作用逻辑,适合处理异步或开销较大的操作。 + +```js +watch: { + firstName(newVal, oldVal) { + console.log('firstName changed:', newVal) + } +} +``` + +### 适用场景 + +- 监听数据变化后发送网络请求 +- 监控复杂数据对象变更 +- 在数据变更时执行手动逻辑 + +## 计算属性与侦听器对比 + +- 计算属性用于声明式计算、依赖缓存; +- 侦听器用于执行响应式副作用、处理异步逻辑。 + +## 示例场景 + +- 显示组合文本:`computed` +- 监控输入并请求接口:`watch` + +## 学习建议 + +先用计算属性做模板中的派生数据,再用侦听器处理需要“观察变化后执行”场景。 \ No newline at end of file diff --git "a/\350\222\213\347\273\215\346\264\213/20260424-Vue.js.md" "b/\350\222\213\347\273\215\346\264\213/20260424-Vue.js.md" new file mode 100644 index 0000000000000000000000000000000000000000..dd8f469247d6a1f93eb2e88a6335661553d61173 --- /dev/null +++ "b/\350\222\213\347\273\215\346\264\213/20260424-Vue.js.md" @@ -0,0 +1,50 @@ +# 2024-04-24 Vue.js 指令 + +## 指令概念 + +Vue 指令是带有 `v-` 前缀的特殊属性,用于在模板中绑定 DOM 行为或数据。 + +## 常用指令 + +- `v-bind`:绑定元素属性,可以缩写为 `:`。 +- `v-on`:绑定事件,可以缩写为 `@`。 +- `v-model`:实现表单控件的双向绑定。 +- `v-if`:条件渲染元素。 +- `v-show`:通过 `display` 控制显示隐藏。 +- `v-for`:列表渲染。 + +## 使用示例 + +```html +