Vue2五、商品分类:My-Tag表头组件,My-Table整个组件

准备:
安包 npm less less-loader。拆分:一共分成两个组件部分:
1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽))
一,My-Tag 分类标签的功能:
tip:拆分时style要加:<style lang="less" scoped> </style>
在APP.vue中:导入、注册、使用组件
功能:
1 : input修改数据 和 文字互斥
用 布尔数据 isShow:false、input加v-if 、div加v-else
<template><div class="my-tag"><inputclass="input"type="text"placeholder="输入标签"v-if="isShow"/><div class="text" v-else>茶具</div></div>
</template>
<script>
// My-Tag 分类标签的功能:
// 1 : input修改数据 和 文字互斥 用 布尔数据 v-if v-else
// 2 : 双击文字 div显示input标签→自动获得焦点
// 3 : input要数据回显
// 4 : 用户输入后,回车→把新的内容渲染到页面→数据应该同步
export default {
data(){return{isShow:false}
},
}
</script>
2 :双击显示input+自动获焦和失焦
双击文字 div显示input标签输入框+input输入框自动获得焦点,
光标在输入框中失去焦点时:输入框变成div里的文字
dbl=double
1 div(茶具)添加@dblclick双击 修改isShow:为true
2 main写全局自定义命令,获焦指令,在input身上直接用v-focus
3 input添加 @blur失焦 isShow:修改为true,输入框变成div里的文字
import Vue from 'vue'
import App from './App.vue'Vue.config.productionTip = false//自定义命令---获得焦点-----全局-----在main.js
Vue.directive('focus', {inserted(el) {el.focus()}})// ---------------------------------
new Vue({render: h => h(App),
}).$mount('#app')
<template><div class="my-tag"><inputclass="input"type="text"placeholder="输入标签"v-if="isShow"v-focus@blur="isShow=false"/><!--dbl=double 双击-------><div class="text" v-else @dblclick="dblfn" >茶具</div></div>
</template>
<script>
// My-Tag 分类标签的功能:
// 1 : input修改数据 和 文字互斥 用 布尔数据 v-if v-else
// 2 : 双击文字 div显示input标签→自动获得焦点
// 3 : input要数据回显
// 4 : 用户输入后,回车→把新的内容渲染到页面→数据应该同步
export default {
data(){return{isShow:false}},
methods:{dblfn(){this.isShow=true}
}
}
</script>
3 : input要数据回显
父传子- 子组件用父组件的数据。父子通信比较繁琐,
所以用v-model双向绑定 化简(V-model=value属性和input事件的缩写)
1 :父APP.vue:假设一个txt="哈哈哈" 字符串数据,
2 :My-Tag挖坑:props:{ value:String },
3:父APP.vue: 使用v-model <MyTag v-model="txt"></MyTag>
4:input添加:value="value"
5 : div里文字用差值表达式代替{{value}}

4 : 用户输入后回车,新内容渲染到页面
用户输入后,回车→把新的内容渲染到页面→数据应该同步
1:在input里添加回车事件 @keyup.enter="enterfn"
2 :写函数enterfn:通知父组件保存用户输入的数据$emit(事件名,用户输入的数据)-语法糖
用户输入的值——借助事件对象获取value的值e.target.value
3 :显示div 隐藏输入框 this.isShow=false

二、My-Table 整体一个组件
1:拆组件
把APP.vue的my-table的结构和css样式剪切到My-Table(拆成组件,好处就是能调用多次)
(tip:拆分时My-Table的style要加:<style lang="less" scoped> </style>)
然后把My-Table在根组件APP.vue导入、注册、使用
tip:把My-Tag的导入注册和使用全部注释(不然会报错,My-Tag被发现但未使用)

2:父传子拿数据(for循环渲染数据)
1 :My-Table挖坑 使用父组件的数据
2:父组件传数据
3:子组件v-for循环替换数据

3:插槽
拆成组件,能调用多次,但因为调用多次,不可能每次调用的表格都一模一样(结构不固定),
所以用插槽(表头和内容分别用插槽)允许根据需要定制
1: My-Table表头和内容slot插槽,
2 : name命名——表头:name="head",内容:name="con" 在APP.vue表头和内容接收一下数据
3:内容的插槽——用作用域插槽
把My-Table作用域的v-for的值(:item="item" :index="index")扔到APP.vue使用

4 : 放开MyTag注释更换MyTag使用时绑定的值
1:把分类标签的My-Tag的引入、注册、使用、的注释放开,
2: 把使用MyTag 组件绑定的v-model的值更换成item.tag
<MyTag v-model="item.tag"></MyTag>

相关文章:
Vue2五、商品分类:My-Tag表头组件,My-Table整个组件
准备: 安包 npm less less-loader。拆分:一共分成两个组件部分: 1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽)) 一&…...
梯度下降法求六轴机械臂逆向解
梯度下降法求六轴机械臂逆向解 一、几何基础 对于上述六轴机械臂的数学建模来说,可以构建一个六轴机械臂的运动学正逆解的数学模型,在一个直角坐标系中有如下旋转矩阵: 绕x轴旋转 R x ( θ x ) [ 1 0 0 0 cos θ x sin θ x 0 − …...
【生成模型之九】Paint by Example: Exemplar-based Image Editing with Diffusion Models
论文:Paint by Example: Exemplar-based Image Editing with Diffusion Models 代码:https://github. com/Fantasy-Studio/Paint-by-Example 为了实现高质量的基于样本的图像编辑,我们引入了四项关键技术,即利用图像先验、强数据-mask增强、内容瓶颈CLIP class token和无…...
集成RabbitMQ+MQ常用操作
文章目录 1.环境搭建1.Docker安装RabbitMQ1.拉取镜像2.安装命令3.开启5672和15672端口4.登录控制台 2.整合Spring AMQP1.sun-common模块下创建新模块2.引入amqp依赖和fastjson 3.新建一个mq-demo的模块1.在sun-frame下创建mq-demo2.然后在mq-demo下创建生产者和消费者子模块3.查…...
PVE虚拟化平台之开启虚拟机IP显示方法
PVE虚拟化平台之开启虚拟机IP显示方法 一、PVE平台介绍1.1 PVE简介1.2 PVE特点1.3 PVE主要使用场景二、检查PVE环境2.1 环境介绍2.2 检查PVE和虚拟机状态三、虚拟机开启Qemu代理四、Linux虚拟机安装Guest-Agent4.1 进入虚拟机VNC控制台4.2 查看虚拟机IP五、Windows虚拟机安装Gu…...
子Shell及Shell嵌套模式
子Shell 概念 Shell子进程,Shell脚本是从上至下,从左至右依次执行每一行的命令及语句的,即执行完一个命令之后再执行下一个。如果在shell脚本中遇到子脚本(即脚本嵌套),就会先执行子脚本的内容,完成后再返回父脚本继…...
Onedrive精神分裂怎么办(有变更却不同步)
Onedrive有时候会分裂,你在本地删除文件,并没有同步到云端,但是本地却显示同步成功。 比如删掉了一个目录,在本地看已经删掉,onedrive显示已同步,但是别的电脑并不会同步到这个删除操作,在网页版…...
【gym】给定的强化学习环境简介(二)
文章目录 环境介绍一 box2dbipedal_walkercar_dynamicscar_racinglunar_lander 二、 classic_controlacrobotCartPolecontinuous_mountain_carmountain_carpendulum 三、toy_textblackjackcliffwalkingfrozentaxi 四、mujocoAnt:HalfCheetah:Hopper&…...
ctfhub disable_functions关卡
1.CTFHub Bypass disable_function —— LD_PRELOAD 2.CTFHub Bypass disable_function —— ShellShock 3.CTFHub Bypass disable_function —— Apache Mod CGI 4.CTFHub Bypass disable_function —— 攻击PHP-FPM 5.CTFHub Bypass disable_function —— GC UAF 6.CTFHub B…...
SpringAI人工智能开发框架006---SpringAI多模态接口_编程测试springai多模态接口支持
可以看到springai对多模态的支持. 同样去创建一个项目 也是跟之前的项目一样,修改版本1.0.0 这里 然后修改仓库地址,为springai的地址 然后开始写代码...
2025年我国网络安全发展形势展望
展望2025年,我国网络安全产业有望迎来新的快速增长阶段,零信任安全架构将在各行各业加快应用落地,数据安全技术攻关和应用进程加快,关键基础设施安全能力不断提升。同时,也应关注国家级网络对抗风险加剧、网络安全产业…...
【漏洞复现】BIG-IP Next Central Manager OData 注入漏洞(CVE-2024-21793)
🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 一、漏洞概述 1.1漏洞简介 漏洞名称:BIG-IP Next Central Manager OData 注入漏洞漏洞编号:CVE-2024-21793漏洞威胁等级:超危影响范围:BIG-IP Next Central Manage…...
GitLab部署到阿里云服务器上
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。 一、安装 1.创建一…...
VTK知识学习(27)- 图像基本操作(二)
1、图像类型转换 1)vtkImageCast 图像数据类型转换在数字图像处理中会频繁用到。一些常用的图像算子(例如梯度算子)在计算时出于精度的考虑,会将结果存储为float或double类型,但在图像显示时,一般要求图像为 unsigned char 类型,…...
MyBatis如何处理延迟加载?
大家好,我是锋哥。今天分享关于【MyBatis如何处理延迟加载?】面试题。希望对大家有帮助; MyBatis如何处理延迟加载? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 支持 延迟加载(Lazy Loading&am…...
前端网络之【浏览器跨域问题分析与解决方案】
文章目录 同源策略同源与异源跨域的限制场景解决方案 CORS 请求分类 简单请求预检请求 注意点一 【关于Cookie】注意点二 【关于跨域获取响应头】 JSONP 基本流程 代理服务器 如何选择对应方案 同源策略 **同源策略是一套浏览器的安全策略机制,当一个源的文档和脚…...
LeetCode:3218. 切蛋糕的最小总开销 I(贪心 Java)
目录 3218. 切蛋糕的最小总开销 I 题目描述: 实现代码与解析: 贪心 原理思路: 3218. 切蛋糕的最小总开销 I 题目描述: 有一个 m x n 大小的矩形蛋糕,需要切成 1 x 1 的小块。 给你整数 m ,n 和两个数…...
前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案
目录 场景还原 相关代码开发者工具 - 网络请求记录 问题排查 定位改bug 总结 场景还原 我在前端使用axios接收后端xlsx表格文件流并下载,xlsx文件能够下载成功,但是打开却显示文件无法打开 相关代码 请求API封装:Content–Type以及responseType经核…...
PageRank Web页面分级算法 HNUST【数据分析技术】(2025)
1.理论知识 算法原理PageRank 通过网络浩瀚的超链接关系来确定一个页面的等级。 Google 把从 A 页面到 B 页面的链接解释为A页面给B页面投票, Google 根据投票来源(甚至来源的来源, 即链接到A页面的页面)和投票目标的等级来决定新…...
数字IC前端学习笔记:脉动阵列的设计方法学(四)
相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 引言 脉动结构(也称为脉动阵列)表示一种有节奏地计算并通过系统传输数据的处理单元(PEs)网络。这些处理单元有规律地泵入泵出数据以保持规则…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
