【Vue框架】基础语法练习(1)

news2024/11/26 2:46:08

其实更多知识点已经在Vue.js官网十分清楚了,大家也可以去官网进行更细节的学习

https://cn.vuejs.org/

说明:目前最新是Vue3版本的,但是Vue2已经深得人心,所以就是可以支持二者合用。它们最大的区别就是Vue3是组合式API,而Vue2是选项式API。还有就是目前并没有使用npm、pnpm、yarn等构建工具创建Vue,而是使用全局构建版的 Vue

<script src="https://unpkg.com/vue@3"></script>

目录

其实更多知识点已经在Vue.js官网十分清楚了,大家也可以去官网进行更细节的学习

1、基本用法

2、内容渲染

2.1 组合式

2.2 选项式

3、响应式

3.1 组合式

3.2 选项式

4、计算属性

5、属性绑定

6、JS表达式

7、条件渲染

8、事件绑定

9、列表渲染

10、双向绑定

11、双向绑定案例


1、基本用法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        {{msg}}
        <h1>{{web.title}}</h1>
        <h1>{{web.url}}</h1>

    </div>
</body>
<script>
    //将Vue 对象中的createAPP reactive 属性赋值给createApp reactive
    const {createApp,reactive}=Vue  //解构语法
    //创建一个Vue应用程序
    createApp({
        // 组合式API的setup 用于设置响应式数据和方法
        setup() {
            const web=Vue.reactive({   //创建一个响应式的数据对象web,里面包含title和url两个属性
                title:"HNUCM",
                url:"www.hnucm.edu.cn"
            })
            //返回数据
            return{
                msg:"success",
                web
            }
        }
    }).mount('#app')//将Vue 应用程序挂载到app元素上
</script>


<script>
    //什么是解构:从一个数组或者对戏那个中把值提取出来赋给新的变量
    //数组解构
    const number=[1,2,3]
    const [one,two,three]=number
    console.log(one,two,three)

    //对象解构
    const person={
        name:"fanhuling",
        age:20
    }
    const {name,age}=person
    console.log(name,age)

    //函数参数解构
    function introduce({name,age}){
        console.log(`My name is ${name},I am ${age} years old`)

    }
    introduce(person)
    
</script>

</html>

2、内容渲染

2.1 组合式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <!-- 文本插值表达式 -->
        <p>{{username}}</p>
        <p>{{age}}</p>
        <p>{{desc}}</p>
        <!-- v-html指令 :显示HTML内容 -->
         <p v-html="desc"></p>
    </div>
</body>


<script>
    //将Vue 对象中的createAPP reactive 属性赋值给createApp reactive
    const {createApp,reactive}=Vue  //解构语法
    //创建一个Vue应用程序
    createApp({
        // 组合式API的setup 用于设置响应式数据和方法
        setup() {
            const username="fanhuiling"
            const age=20
            const desc='<a href ="www.baidu.com">百度一下</a>'
            //返回数据
            return{
                username,age,desc
            }
        }
    }).mount('#app')//将Vue 应用程序挂载到app元素上
</script>


</html>

2.2 选项式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        <!-- 文本插值表达式 -->
        <p>{{username}}</p>
        <p>{{age}}</p>
        <p>{{desc}}</p>
        <!-- v-html指令 :显示HTML内容 -->
         <p v-html="desc"></p>

    </div>
</body>
<script>
    const vm={
        data:function(){
            return{
                username:"fanhuiling",
                age:20,
                desc:'<a href="www.baidu.com">百度一下</a>'
            }
        }
    }
    const app=Vue.createApp(vm)
    app.mount('#app')
</script>

</html>

3、响应式

3.1 组合式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        <button @click="incretement">增加</button>
        <p>{{count}}</p>
        <p>{{state.counter}}</p>

    </div>
</body>
<script>
    const {createApp,reactive,ref}=Vue
    //ref  适用于基本类型(字符串、数字、布尔值)
    //reactive 适用于对象、数组等复合类型
    createApp({
        // 组合式API的setup 用于设置响应式数据和方法
        setup() {
            const count=ref(0)
            const state=ref({counter:0})//将ref 改为reactive后,counter会和count一起增加
            //箭头函数
            const incretement = ()=>{
                count.value++;
                state.counter++;
           }
            return{
               count,incretement,state
            }
        }
    }).mount('#app')//将Vue 应用程序挂载到app元素上

</script>



</html>

3.2 选项式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        <button onclick="incretement">增加</button>
        <p>{{count}}</p>

    </div>
</body>
<script>
    const vm={
        data:function(){
            //const count=Vue.ref(0)
            return{
                count:1
            }  
        },
        methods: {
            incretement(){
                this.count++;
            } 
        
        }
    }
    const app=Vue.createApp(vm)
    app.mount('#app')
</script>



</html>

4、计算属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        <h1>{{add()}}</h1>
        <h1>{{add()}}</h1>
        <h1>{{sum}}</h1>
        <h1>{{sum}}</h1>

    </div>
</body>
<script>
    const {createApp,reactive,ref,computed}=Vue
    //ref  适用于基本类型(字符串、数字、布尔值)
    //reactive 适用于对象、数组等复合类型
    createApp({
        // 组合式API的setup 用于设置响应式数据和方法
        setup() {
            const data = reactive({
                x:10,
                y:20
           })
           //无缓存的方法
           const add=()=>{
            console.log("add")
            return data.x+data.y;
           }
           //有缓存的方法
           //计算属性:根据依赖响应式数据变化来决定是否重新计算
           const sum=computed(()=>{
            console.log("sum")
            return data.x+data.y
           })
           return {
            data,add,sum
           }
        }
    }).mount('#app')//将Vue 应用程序挂载到app元素上

</script>



</html>

5、属性绑定

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1. 导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <div :style="{width:h,height:h,backgroundColor:bgc}"></div>

    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const w=ref('500px');
            const h=ref('500px');
            const bgc=ref('red');
            // 返回数据
            return {
              w,h,bgc
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

 

6、JS表达式

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1. 导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
      <p>{{number+1}}</p>
      <p>{{ok ?'True':'False'}}</p>
      <!-- 翻转字符串:先以,分割为数组,数组翻转,然后在结合 -->
      <p>{{msg.split('').reverse().join('')}}</p> 
      <p :id="'list-'+id"></p>
      <p>{{user.name}}</p>
    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const number=0;
            const ok=ref(true);
            const msg="ABC"
            const id=3
            const user={name:"fanhuiling"}
            return {
                number,ok,msg,id,user
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

7、条件渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <button @click="flag=!flag">开关</button>
        <!-- v-if 当为false时,会从真实dom删除 -->
        <p v-if="flag">请求成功,被v-if控制</p> 
        <p v-show="flag">请求成功,被v-show控制</p>
        <p v-if= "type === A">类型A</p>
        <p v-else-if="type === B">类型B</p>
        <p v-else>不是A和B</p>
    </div>
</body>


<script>
    //将Vue 对象中的createAPP reactive 属性赋值给createApp reactive
    const {createApp,reactive,ref}=Vue  //解构语法
    //创建一个Vue应用程序
    createApp({
        // 组合式API的setup 用于设置响应式数据和方法
        setup() {
            const flag=ref(true)
            const type=ref("C")
         
            return{
                flag,type
            }
        }
    }).mount('#app')//将Vue 应用程序挂载到app元素上
</script>


</html>

8、事件绑定

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1. 导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <p>count的值为:{{count}}</p>
        <button v-on:click="addCount">+1</button>
        <button @click="addCount">+1</button>
    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const count=ref(0)
            const addCount=()=>{
                count.value++;
            }
            // 返回数据
            return {
              count,addCount
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

9、列表渲染

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1. 导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <!-- 添加数据 -->
         <input type="text" v-model="name"/>
         <button @click="addUser"> 添加</button>

        <ul>
            <li v-for="user in userlist">
                姓名:{{user.name}}
            </li>
            <li v-for="user,index  in userlist" :key="user.id">
                <input type="checkbox"/>索引:{{index}}
                姓名:{{user.name}}
            </li>


        </ul>
    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const userlist=reactive([
                {id:1,name:"Tom"},
                {id:2,name:"Jerry"},
                {id:3,name:"mary"}
            ])
            const nextId=ref(4)
            const name=ref('')
            const addUser=()=>{
                userlist.unshift({
                    id:nextId.value,
                    name:name.value
                })
                name.value="";
                nextId.value++;
            }
                
            // 返回数据
            return {
                userlist,nextId,name,addUser
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

10、双向绑定

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!--  导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <input v-model="msg" placeholder="输入文本"/>
        <p>{{msg}}</p>
    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const msg=ref(测试)
            // 返回数据
            return {
              msg
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

 

11、双向绑定案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1. 导入vue.js的脚本文件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="app">
        <h3>文本框:{{data.text}}</h3>
        <h3>单选框:{{data.radio}}</h3>
        <h3>复选框:{{data.checkbox}}</h3>
        <h3>下拉框:{{data.select}}</h3>
        <h3>记住密码:{{data.remember}}</h3>
        <!-- 单向数据绑定时,数据发生变化视图会自动更新,
         但是手动修改input的值,数据不会自动更新 -->
        单向数据绑定:<input type="text" :value="data.text"/><br>
        <!-- 双向数据绑定,当数据发生变化时,视图会自动更新,
         手动修改input的值,数据也会自更新 -->
        双向数据绑定:<input type="text" v-model="data.text"/><br>

        <br><br>
        <input type="radio" v-model="data.radio" value="1">听音乐
        <input type="radio" v-model="data.radio" value="2">写代码
        <br><br>
        <input type="checkbox" v-model="data.checkbox" value="a">听音乐
        <input type="checkbox" v-model="data.checkbox" value="b">写代码
        <input type="checkbox" v-model="data.checkbox" value="c">刷B站
        <br><br>
        <select v-model="select">
            <option value="" >请选择</option>
            <option value="A" >听音乐</option>
            <option value="B" >写代码</option>
            <option value="C" >刷B站</option>

        </select>

        <br><br>
        <input type="checkbox" v-model="data.remember">记住密码

    </div>
</body>
<script>
    // 将 Vue 对象中的createApp reactive 属性赋值给createApp reactive
    const { createApp, reactive, ref } = Vue; // 解构赋值语法
    // 创建一个 Vue 的应用程序
    createApp({
        // 组合式API 的 setup 用于设置响应式数据和方法
        setup() {
            const data=reactive({
                text:'fanhuiling' ,//文本框
                radio:"",
                checkbox:[],
                select:"",
                remember:false //单个复选框--功能是记住密码

            })
            // 返回数据
            return {
              data
            }
        }
    }).mount('#app') // 将 Vue 应用程序挂载到app元素上
</script>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2232214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫学习4

from threading import Thread#创建任务 def func(name):for i in range(100):print(name,i)if __name__ __main__:#创建线程t1 Thread(targetfunc,args("1"))t2 Thread(targetfunc, args("2"))t1.start()t2.start()print("我是诛仙剑")from …

qt QScrollArea详解

1、概述 QScrollArea是Qt框架中的一个控件&#xff0c;它提供了一个可滚动的视图区域&#xff0c;用于显示超出视图大小的内容。这个控件非常有用&#xff0c;尤其是在处理大型表格、文本区域、图像集合或任何需要滚动浏览的内容时。QScrollArea本身不直接显示内容&#xff0c…

【ChatGPT】搜索趋势分析

【ChatGPT】搜索趋势分析 为了分析 ChatGPT 在过去一年的流行趋势&#xff0c;我们可以查看 Google Trends 的数据 安装依赖pytrends pip install pytrends运行以下 Python 脚本 import pandas as pd import matplotlib.pyplot as plt from pytrends.request import TrendR…

Mac如何实现高效且干净的卸载应用程序

使用Mac卸载应用程序&#xff0c;你还在使用废纸篓这个办法吗&#xff0c;看不见卸载了什么&#xff0c;看不见清理了多少&#xff0c;真的不会有残留吗 XApp Mac上的卸载专家&#xff0c;强大的垃圾逻辑检测&#xff0c;垃圾扫描更全面&#xff0c;卸载更干净 使用简单&#…

安科瑞AMB400分布式光纤测温系统解决方案--远程监控、预警,预防电气火灾

安科瑞戴婷 可找我Acrel-Fanny 安科瑞AMB400电缆分布式光纤测温具有多方面的特点和优势&#xff1a; 工作原理&#xff1a; 基于拉曼散射效应。激光器产生大功率的光脉冲&#xff0c;光在光纤中传播时会产生散射。携带有温度信息的拉曼散射光返回光路耦合器&#xff0c;耦…

GitHub上传自己的项目

目录 一、安装Git插件 1&#xff09;下载 2&#xff09;安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user]&#xff0c;下次可以直接用 一、安装Git插件 1&#xff09;下载 下载地址&#x…

Spring Boot框架

一.SpringBoot简介 1.1 设计初衷 目前我们开发的过程当中&#xff0c;一般采用一个单体应用的开发采用 SSM等框架进行开发&#xff0c;并在 开发的过程当中使用了大量的xml 等配置文件&#xff0c;以及在开发过程中使用MAVEN的构建工具来进 行构建项目&#xff0c;但是往往有…

【C++】vector 类深度解析:探索动态数组的奥秘

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 如果你对string类还存在疑惑&#xff0c;欢迎阅读我之前的作品 &#xff1a; &#x1f449;【C】string 类深度解析&#xff1a;…

windows——病毒的编写

声明 学习视频来自B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 windows基础 我们学习了前面的window…

STM32 + CubeMX + 硬件SPI + W5500 +UDP

这篇文章记录一下STM32W5500UDP的调试过程&#xff0c;实现UDP数据的接收与发送。 目录 一、W5500模块介绍二、Stm32CubeMx配置三、Keil代码编写1、添加W5500驱动代码到工程&#xff08;添加方法不赘述&#xff0c;驱动代码可以在官网找&#xff09;2、在工程中增加代码&#…

原来大佬的测试用例都是这样写的...

1、测试点与测试用例 测试点不等于测试用例&#xff0c;这是我们首先需要认识到的。 问题1&#xff1a;这些测试点在内容上有重复&#xff0c;存在冗余。 问题2&#xff1a;一些测试点的测试输入不明确&#xff0c;不知道测试时要测试哪些。 问题3&#xff1a;总是在搭相似…

【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入

【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入 Med-BERT:pretrained contextualized embeddings on large-scale structured electronic health records for disease prediction ​ ​ 摘要:基于电子健康记录(EHR)的深度学习(DL)预…

天锐绿盾加密软件与Ping32 — 数据安全与性能优化的完美结合

在数字化时代&#xff0c;企业对数据安全的重视程度日益增加。随着网络攻击和数据泄漏事件频发&#xff0c;选择合适的安全解决方案显得尤为重要。天锐绿盾与Ping32作为两款备受推崇的安全软件&#xff0c;各自为企业提供了独特的功能和优势&#xff0c;共同为企业的数据安全和…

随身WiFi三网切换靠谱吗?格行随身WiFi网速怎么样?

出门在外手机流量不够用&#xff0c;连接公共WIFI网速不稳定还存在安全隐患。小巧便携的随身WIFI成了外出用网的首选。面对市面上不同品牌&#xff0c;不同类型的随身WIFI不少朋友不免心生疑问&#xff1a;随身WIFI到底值不值得买&#xff1f;究竟是不是“智商税”&#xff1f;…

服务器数据恢复—SAN环境中LUN映射错误导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境&#xff1a; SAN光纤网络环境&#xff0c;存储由一组6块硬盘组建的RAID6阵列构成&#xff0c;划分为若干LUN&#xff0c;MAP到跑不同业务的SUN SOLARIS操作系统服务器上。 服务器故障&分析&#xff1a; 因为业务需要&#xff0c;用户在该光纤存储环境中…

【skywalking 】More than 15,000 ‘grammar‘ tokens have been presented. 【未解决请求答案】

问题 skywalking相关版本信息 jdk&#xff1a;17skywalking&#xff1a;10.1.0apache-skywalking-java-agent&#xff1a;9.3.0ElasticSearch : 8.8.2 问题描述 More than 15,000 grammar tokens have been presented. To prevent Denial Of Service attacks, parsing has b…

004-Kotlin界面开发快速入水之TicTacToe

程序界面和效果 快速入水 要学习一样跟程序设计有关的东西&#xff0c;最好的办法始终是把手打湿&#xff0c;整一个能够运行&#xff0c;可以实验的东西出来。 也只有在程序开发中&#xff0c;我们才能想一个魔法师而不是魔术师&#xff0c;我们真的能够创造一个东西。而且编…

Node.js:Express 服务 路由

Node.js&#xff1a;Express 服务 & 路由 创建服务处理请求req对象 静态资源托管托管多个资源挂载路径前缀 路由模块化 Express是Node.js上的一个第三方框架&#xff0c;可以快速开发一个web框架。本质是一个包&#xff0c;可以通过npm直接下载。 创建服务 Express创建一…

C语言 | Leetcode C语言题解之第530题二叉搜索树的最小绝对差

题目&#xff1a; 题解&#xff1a; void dfs(struct TreeNode* root, int* pre, int* ans) {if (root NULL) {return;}dfs(root->left, pre, ans);if (*pre -1) {*pre root->val;} else {*ans fmin(*ans, root->val - (*pre));*pre root->val;}dfs(root->…

重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 整合 Elasticsearch 8.x &#xff08;二&#xff09;使用Repository 1. 环境准备1.1 项目依赖1.2 Elasticsearch 配置 2. 使用Repository的基本步骤2.1 创建实体类2.2 创…