From f868fec5f748f0f44d89c81cb306107714db300d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E6=98=B1?= <1954960364@qq.com>
Date: Sun, 16 Apr 2023 12:51:45 +0000
Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 李昱 <1954960364@qq.com>
---
.../2023-04-10-v-model.md" | 222 ++++++++++++++
...1-\344\277\256\351\245\260\347\254\246.md" | 128 ++++++++
...50\345\222\214\346\250\241\346\235\277.md" | 270 +++++++++++++++++
.../2023-04-14-\347\273\204\344\273\266.md" | 277 ++++++++++++++++++
4 files changed, 897 insertions(+)
create mode 100644 "14\346\235\216\346\230\261/2023-04-10-v-model.md"
create mode 100644 "14\346\235\216\346\230\261/2023-04-11-\344\277\256\351\245\260\347\254\246.md"
create mode 100644 "14\346\235\216\346\230\261/2023-04-13-\344\276\246\345\220\254\345\231\250\345\222\214\346\250\241\346\235\277.md"
create mode 100644 "14\346\235\216\346\230\261/2023-04-14-\347\273\204\344\273\266.md"
diff --git "a/14\346\235\216\346\230\261/2023-04-10-v-model.md" "b/14\346\235\216\346\230\261/2023-04-10-v-model.md"
new file mode 100644
index 0000000..eb25e0c
--- /dev/null
+++ "b/14\346\235\216\346\230\261/2023-04-10-v-model.md"
@@ -0,0 +1,222 @@
+
+#
+## 一.v-model
+
++ v-model 可以自动将表单输入框的内容同步给 JavaScript 中相应的变量
+
++ v-model 还可以用于各种不同类型的输入,它会根据所使用的元素**自动**使用对应的 DOM 属性和事件组合
+
++ v-model 会忽略任何表单元素上**初始的** value、checked 或 selected attribute。它将始终将当前绑定的 JavaScript 状态视为数据的正确来源。应该在 JavaScript 中使用data 选项来声明该初始值。
+
+### 代码:
+```html
+
+
+
+
+
+
+
+ {{mess}}
+
+
+
+```
+#
+## 二.绑定
+
++ 文本框:
+```html
+
|
+```
+
++ 单选框:type中为 radio
+```html
+ 女
+ 男
+```
+
++ 复选框:type中为 checkbox
+```html
+ 篮球
+ 吃饭
+```
+
++ 下拉框:包在**select 标签**中的**option 标签**,提供一个 **disabled 虚化禁用**掉对应的option 标签选项,可用于下拉框的顶部提示
+```html
+
+
+```
+
+#
+## 三.代码
+```html
+
+
+
+
+
+
+
+```
diff --git "a/14\346\235\216\346\230\261/2023-04-11-\344\277\256\351\245\260\347\254\246.md" "b/14\346\235\216\346\230\261/2023-04-11-\344\277\256\351\245\260\347\254\246.md"
new file mode 100644
index 0000000..3251d21
--- /dev/null
+++ "b/14\346\235\216\346\230\261/2023-04-11-\344\277\256\351\245\260\347\254\246.md"
@@ -0,0 +1,128 @@
+# 表单绑定修饰符和生命周期钩子
+
+## 一.表单绑定修饰符
+
+### .lazy
+
++ 默认情况下,v-model 会在每次 input 事件后实时同步更新数据 (IME 拼字阶段的状态例外也就是输入法打字时例外)
+
++ 加 lazy 修饰符来改为在每次 change 事件后更新数据,也就是焦点不在对于的事件上时更新,不实时同步更新
+
+```html
+
+
+
+
+
+
+
+
+ {{ mod }}
+
+
+
+
+ {{ mod1 }}
+
+
+```
+
+### .reim
+
++ 默认自动去除用户输入内容的前后两端的空格
+```html
+
+
+
+
+
+
+
+
+
+ {{ arr }}
+
+
+```
+
+#
+## 二. 生命周期钩子
+```
+每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。
+```
+
+### mounted :在选项式中
++ mounted 钩子可以用来在创建的所有 DOM 节点和组件完成初始渲染后运行代码
+
++ 周期钩子最常用的是 **mounted**、updated 和 unmounted。
+
++ 有生命周期钩子函数的 this 上下文都会自动指向当前调用它的组件实例。注意:避免用箭头函数来定义生命周期钩子,因为如果这样的话你将无法在函数中通过 this 获取组件实例。
+
+```html
+
+
+
+
+
+ 1111
+
+```
+
+### onMounted :在组合式中
+
++ 周期钩子最常用的是 **onMounted**、onUpdated 和 onUnmounted。
+
++ 对 onMounted 的调用**不一定**要放在 setup() 或
+
+
+ 敲代码了
+
+```
\ No newline at end of file
diff --git "a/14\346\235\216\346\230\261/2023-04-13-\344\276\246\345\220\254\345\231\250\345\222\214\346\250\241\346\235\277.md" "b/14\346\235\216\346\230\261/2023-04-13-\344\276\246\345\220\254\345\231\250\345\222\214\346\250\241\346\235\277.md"
new file mode 100644
index 0000000..2b57e77
--- /dev/null
+++ "b/14\346\235\216\346\230\261/2023-04-13-\344\276\246\345\220\254\345\231\250\345\222\214\346\250\241\346\235\277.md"
@@ -0,0 +1,270 @@
+# 侦听器和模板引用
+
+## 一.watch函数 :侦听器
+
+### 介绍:
+
++ 使用 watch 函数在每次响应式状态发生变化时触发回调函数
+
++ 能直接侦听响应式对象的属性值,需要用一个返回该属性的**函数**
+```js
+const obj = reactive({ count: 0 })
+// 提供一个 getter 函数
+watch(
+ () => obj.count,
+ (count) => {
+ console.log(`count is: ${count}`)
+ }
+)
+```
+### 基础的内容:
+
++ 组合式
+```html
+
+
+
+
+
+ 请输入问题:
+
+
+
+ 答案:{{ name }}
+
+
+
![]()
+
+
+```
+
++ 选项式
+```html
+
+
+
+
+ 问题:
+
+
+
+ 回答:
+ {{ name }}
+
+
+
![]()
+
+
+```
+
++ 启动前后端分离,修改的代码
+```js
+async function getAll(ctx,next){
+ // 随机生成一个整数范围在0~9
+ let i=Math.floor(Math.random()*10)
+ let res;
+ if(i>5){
+ res={
+ code:1000,
+ data:{
+ name:'找到北极熊了',
+ img:'https://img1.baidu.com/it/u=3904465785,574612916&fm=253&fmt=auto&app=138&f=JPEG?w=752&h=500'
+ },
+ msg:'获取成功'
+ }
+ }else{
+ res={
+ code:1000,
+ data:{
+ name:'没找到北极熊',
+ img:'https://img1.baidu.com/it/u=1067723405,2531657160&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=586'
+ },
+ msg:'获取失败'
+ }
+ }
+ ctx.body=res
+}
+```
+#
+## 二.ref: 模板引用
+
+### 介绍
+
++ ref 是一个特殊的 attribute,它允许我们在一个特定的 DOM 元素或子组件实例被挂载后,获得对它的直接引用。
+
++ 只可以在组件挂载后才能访问模板引用。如果你想在模板中的表达式上访问 input,在初次渲染时会是 null。这是因为在初次渲染前这个元素还不存在
+
++ ref 数组并不保证与原始的数组有相同的顺序
+
+### 基础的操作
+
++ 组合式
+```html
+
+
+
+
+
睡觉了
+
+
+
+
+```
+
++ 选项式
+```html
+
+
+
+
+
结束了
+
+
+ 姓名:
+
+
+
+ 密码:
+
+
+
+```
diff --git "a/14\346\235\216\346\230\261/2023-04-14-\347\273\204\344\273\266.md" "b/14\346\235\216\346\230\261/2023-04-14-\347\273\204\344\273\266.md"
new file mode 100644
index 0000000..e2a8afe
--- /dev/null
+++ "b/14\346\235\216\346\230\261/2023-04-14-\347\273\204\344\273\266.md"
@@ -0,0 +1,277 @@
+
+#
+## 一.组件的使用 :两种是因为API的不同,所有写法不同
+
++ 组合式(组合式的API)
+```html
+
+
+
+
+
+
+
+```
+
++ 选项式(选项式式的API):
+
+ + 要将导入的组件暴露给模板,我们需要在 components 选项上注册它。
+
+ + 这个组件将会以其注册时的名字作为模板中的标签名。
+
+```html
+
+
+
+
+
+
+
+```
+
+### 传递 props
+
++ Props 是一种特别的 attributes,你可以在组件上声明注册。
+
++ defineProps :组合式
+
+ + HelloWorld.vue
+ ```html
+
+ {{ xx }}
+ 第 {{ id }} 个选择: {{ name }}
+
+
+
+ ```
+
+ + App.vue
+ ```html
+
+
+
+
+
+
+ ```
++ props: 选项式:
+
+ + 当一个值被传递给 prop 时,它将成为该组件实例上的一个属性。该属性的值可以像其他组件属性一样,在模板和组件的 this 上下文中访问。
+
+ + 一个组件可以有任意多的 props,默认情况下,所有 prop 都接受任意类型的值。
+
++ 代码
+
+ + DefineProps.vue
+ ```html
+
+ {{ xx }}
+
+
+ 第{{id}}选择:{{ name }}
+
+
+
+ ```
+
+ + App.vue
+ ```html
+
+
+
+
+
+
+
+ ```
+
+#
+## 二.监听事件
+
++ 调用内置的 $emit 方法,通过传入事件名称来抛出一个事件
+
+```html
+
+ {{name}}
+
+
+
+
+```
+
+### 选项式
+
++ 通过 emits 选项来声明需要抛出的事件
+
+```html
+
+
+
+ {{name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+### 组合式
+
++ 通过 defineEmits 宏来声明需要抛出的事件
+
+```html
+
+
+
+
+ {{name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## 三. 元素 :通过插槽输入内容
+
++ 元素来实现向组件传递内容
+
++ 使用 作为一个占位符,父组件传递进来的内容就会渲染在这里
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 星系
+
+```
--
Gitee