Vue实现表情包评论

news2024/11/16 7:35:16

1.效果图

在这里插入图片描述

2.Vue

2.1 下载emo表情

可以自己去gitee上找,或者直接通过百度云。
链接:https://pan.baidu.com/s/1lsUlLhoAsy_ehQyvdhlrpA
提取码:u9ol
(如果你不想存在本地,也可以把表情包放在云上)

2.2 放入Vue工程中

将这个emo表情整个文件夹放在vue工程中的src/assets下
在这里插入图片描述

2.3 在Vue工程中定义

这个定义是表情包放在本地的。
如果你的文件不在本地也可以使用,注意要去掉require。

data() {
    return {
      emojiList: [
        { title: "[微笑]", url: require("../assets/face/weixiao.gif")},
        { title: "[嘻嘻]", url: require("../assets/face/xixi.gif") },
        { title: "[哈哈]", url: require("../assets/face/haha.gif") },
        { title: "[可爱]", url: require("../assets/face/keai.gif") },
        { title: "[可怜]", url: require("../assets/face/kelian.gif") },
        { title: "[挖鼻]", url: require("../assets/face/wabi.gif") },
        { title: "[吃惊]", url: require("../assets/face/chijing.gif") },
        { title: "[害羞]", url: require("../assets/face/haixiu.gif") },
        { title: "[挤眼]", url: require("../assets/face/jiyan.gif") },
        { title: "[闭嘴]", url: require("../assets/face/bizui.gif") },
        { title: "[鄙视]", url: require("../assets/face/bishi.gif") },
        { title: "[爱你]", url: require("../assets/face/aini.gif") },
        { title: "[泪]", url: require("../assets/face/lei.gif") },
        { title: "[偷笑]", url: require("../assets/face/touxiao.gif") },
        { title: "[亲亲]", url: require("../assets/face/qinqin.gif") },
        { title: "[生病]", url: require("../assets/face/shengbing.gif") },
        { title: "[太开心]", url: require("../assets/face/taikaixin.gif") },
        { title: "[白眼]", url: require("../assets/face/baiyan.gif") },
        { title: "[右哼哼]", url: require("../assets/face/youhengheng.gif") },
        { title: "[左哼哼]", url: require("../assets/face/zuohengheng.gif") },
        { title: "[嘘]", url: require("../assets/face/xu.gif") },
        { title: "[衰]", url: require("../assets/face/shuai.gif") },
        { title: "[吐]", url: require("../assets/face/tu.gif") },
        { title: "[哈欠]", url: require("../assets/face/haqian.gif") },
        { title: "[抱抱]", url: require("../assets/face/baobao.gif") },
        { title: "[怒]", url: require("../assets/face/nu.gif") },
        { title: "[疑问]", url: require("../assets/face/yiwen.gif") },
        { title: "[馋嘴]", url: require("../assets/face/chanzui.gif") },
        { title: "[拜拜]", url: require("../assets/face/baibai.gif") },
        { title: "[思考]", url: require("../assets/face/sikao.gif") },
        { title: "[汗]", url: require("../assets/face/han.gif") },
        { title: "[困]", url: require("../assets/face/kun.gif") },
        { title: "[睡]", url: require("../assets/face/shui.gif") },
        { title: "[钱]", url: require("../assets/face/qian.gif") },
        { title: "[失望]", url: require("../assets/face/shiwang.gif") },
        { title: "[酷]", url: require("../assets/face/ku.gif") },
        { title: "[色]", url: require("../assets/face/se.gif") },
        { title: "[哼]", url: require("../assets/face/heng.gif") },
        { title: "[鼓掌]", url: require("../assets/face/guzhang.gif") },
        { title: "[晕]", url: require("../assets/face/yun.gif") },
        { title: "[悲伤]", url: require("../assets/face/beishang.gif") },
        { title: "[抓狂]", url: require("../assets/face/zhuakuang.gif") },
        { title: "[黑线]", url: require("../assets/face/heixian.gif") },
        { title: "[阴险]", url: require("../assets/face/yinxian.gif") },
        { title: "[怒骂]", url: require("../assets/face/numa.gif") },
        { title: "[互粉]", url: require("../assets/face/hufen.gif") },
        { title: "[书呆子]", url: require("../assets/face/shudaizi.gif") },
        { title: "[愤怒]", url: require("../assets/face/fennu.gif") },
        { title: "[感冒]", url: require("../assets/face/ganmao.gif") },
        { title: "[心]", url: require("../assets/face/xin.gif") },
        { title: "[伤心]", url: require("../assets/face/shangxin.gif") },
        { title: "[猪]", url: require("../assets/face/zhu.gif") },
        { title: "[熊猫]", url: require("../assets/face/xiongmao.gif") },
        { title: "[兔子]", url: require("../assets/face/tuzi.gif") },
        { title: "[喔克]", url: require("../assets/face/ok.gif") },
        { title: "[耶]", url: require("../assets/face/ye.gif") },
        { title: "[棒棒]", url: require("../assets/face/good.gif") },
        { title: "[不]", url: require("../assets/face/no.gif") },
        { title: "[赞]", url: require("../assets/face/zan.gif") },
        { title: "[来]", url: require("../assets/face/lai.gif") },
        { title: "[弱]", url: require("../assets/face/ruo.gif") },
        { title: "[草泥马]", url: require("../assets/face/caonima.gif") },
        { title: "[神马]", url: require("../assets/face/shenma.gif") },
        { title: "[囧]", url: require("../assets/face/jiong.gif") },
        { title: "[浮云]", url: require("../assets/face/fuyun.gif") },
        { title: "[给力]", url: require("../assets/face/geili.gif") },
        { title: "[围观]", url: require("../assets/face/weiguan.gif") },
        { title: "[威武]", url: require("../assets/face/weiwu.gif") },
        { title: "[话筒]", url: require("../assets/face/huatong.gif") },
        { title: "[蜡烛]", url: require("../assets/face/lazhu.gif") },
        { title: "[蛋糕]", url: require("../assets/face/dangao.gif") },
        { title: "[发红包]", url: require("../assets/face/fahongbao.gif") },
      ],
    };
  },

这里为什么要在url里面写require呢?
因为平常直接的本地url地址是会被再次编译,如果引用的是向我们这样定义的变量值,是不会被编译的,还是会找不到,所以require相当于代替了编译。

2.4表情列表

<template>
  <div v-show="chooseEmoji" class="emoji-wrapper">
    <span
      v-for="(item, index) of emojiList"
      :key="index"
      @click="addEmoji(item.title)"
    >
      <v-img
        :lazy-src="item.url"
        :src="item.url"
        :title="item.title"
        width="24"
        height="24"
      />
    </span>
  </div>
</template>

<script>
export default {
  props: {
    chooseEmoji: {
      type: Boolean,
    },
  },
  data() {
    return {
      emojiList: [
        { title: "[微笑]", url: require("../assets/face/weixiao.gif")},
        { title: "[嘻嘻]", url: require("../assets/face/xixi.gif") },
        { title: "[哈哈]", url: require("../assets/face/haha.gif") },
        { title: "[可爱]", url: require("../assets/face/keai.gif") },
        { title: "[可怜]", url: require("../assets/face/kelian.gif") },
        { title: "[挖鼻]", url: require("../assets/face/wabi.gif") },
        { title: "[吃惊]", url: require("../assets/face/chijing.gif") },
        { title: "[害羞]", url: require("../assets/face/haixiu.gif") },
        { title: "[挤眼]", url: require("../assets/face/jiyan.gif") },
        { title: "[闭嘴]", url: require("../assets/face/bizui.gif") },
        { title: "[鄙视]", url: require("../assets/face/bishi.gif") },
        { title: "[爱你]", url: require("../assets/face/aini.gif") },
        { title: "[泪]", url: require("../assets/face/lei.gif") },
        { title: "[偷笑]", url: require("../assets/face/touxiao.gif") },
        { title: "[亲亲]", url: require("../assets/face/qinqin.gif") },
        { title: "[生病]", url: require("../assets/face/shengbing.gif") },
        { title: "[太开心]", url: require("../assets/face/taikaixin.gif") },
        { title: "[白眼]", url: require("../assets/face/baiyan.gif") },
        { title: "[右哼哼]", url: require("../assets/face/youhengheng.gif") },
        { title: "[左哼哼]", url: require("../assets/face/zuohengheng.gif") },
        { title: "[嘘]", url: require("../assets/face/xu.gif") },
        { title: "[衰]", url: require("../assets/face/shuai.gif") },
        { title: "[吐]", url: require("../assets/face/tu.gif") },
        { title: "[哈欠]", url: require("../assets/face/haqian.gif") },
        { title: "[抱抱]", url: require("../assets/face/baobao.gif") },
        { title: "[怒]", url: require("../assets/face/nu.gif") },
        { title: "[疑问]", url: require("../assets/face/yiwen.gif") },
        { title: "[馋嘴]", url: require("../assets/face/chanzui.gif") },
        { title: "[拜拜]", url: require("../assets/face/baibai.gif") },
        { title: "[思考]", url: require("../assets/face/sikao.gif") },
        { title: "[汗]", url: require("../assets/face/han.gif") },
        { title: "[困]", url: require("../assets/face/kun.gif") },
        { title: "[睡]", url: require("../assets/face/shui.gif") },
        { title: "[钱]", url: require("../assets/face/qian.gif") },
        { title: "[失望]", url: require("../assets/face/shiwang.gif") },
        { title: "[酷]", url: require("../assets/face/ku.gif") },
        { title: "[色]", url: require("../assets/face/se.gif") },
        { title: "[哼]", url: require("../assets/face/heng.gif") },
        { title: "[鼓掌]", url: require("../assets/face/guzhang.gif") },
        { title: "[晕]", url: require("../assets/face/yun.gif") },
        { title: "[悲伤]", url: require("../assets/face/beishang.gif") },
        { title: "[抓狂]", url: require("../assets/face/zhuakuang.gif") },
        { title: "[黑线]", url: require("../assets/face/heixian.gif") },
        { title: "[阴险]", url: require("../assets/face/yinxian.gif") },
        { title: "[怒骂]", url: require("../assets/face/numa.gif") },
        { title: "[互粉]", url: require("../assets/face/hufen.gif") },
        { title: "[书呆子]", url: require("../assets/face/shudaizi.gif") },
        { title: "[愤怒]", url: require("../assets/face/fennu.gif") },
        { title: "[感冒]", url: require("../assets/face/ganmao.gif") },
        { title: "[心]", url: require("../assets/face/xin.gif") },
        { title: "[伤心]", url: require("../assets/face/shangxin.gif") },
        { title: "[猪]", url: require("../assets/face/zhu.gif") },
        { title: "[熊猫]", url: require("../assets/face/xiongmao.gif") },
        { title: "[兔子]", url: require("../assets/face/tuzi.gif") },
        { title: "[喔克]", url: require("../assets/face/ok.gif") },
        { title: "[耶]", url: require("../assets/face/ye.gif") },
        { title: "[棒棒]", url: require("../assets/face/good.gif") },
        { title: "[不]", url: require("../assets/face/no.gif") },
        { title: "[赞]", url: require("../assets/face/zan.gif") },
        { title: "[来]", url: require("../assets/face/lai.gif") },
        { title: "[弱]", url: require("../assets/face/ruo.gif") },
        { title: "[草泥马]", url: require("../assets/face/caonima.gif") },
        { title: "[神马]", url: require("../assets/face/shenma.gif") },
        { title: "[囧]", url: require("../assets/face/jiong.gif") },
        { title: "[浮云]", url: require("../assets/face/fuyun.gif") },
        { title: "[给力]", url: require("../assets/face/geili.gif") },
        { title: "[围观]", url: require("../assets/face/weiguan.gif") },
        { title: "[威武]", url: require("../assets/face/weiwu.gif") },
        { title: "[话筒]", url: require("../assets/face/huatong.gif") },
        { title: "[蜡烛]", url: require("../assets/face/lazhu.gif") },
        { title: "[蛋糕]", url: require("../assets/face/dangao.gif") },
        { title: "[发红包]", url: require("../assets/face/fahongbao.gif") },
      ],
    };
  },
  methods: {
    addEmoji(key) {
      this.$emit("addEmoji", key);
    },
  },
};
</script>

2.5 解析表情(添加时需要)

  //解析表情
      var reg = /\[.+?\]/g;
      this.commentContent = this.commentContent.replace(reg, function (str) {
        for (let i = 0; i < Emoji.data().emojiList.length; i++) {
          // eslint-disable-next-line no-empty
          if (Emoji.data().emojiList[i].title === str) {
            var url = Emoji.data().emojiList[i].url;
          }
        }

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

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

相关文章

Linux---查看系统资源占用(top)、磁盘信息监控(df、iostat)、网络状态监控(sar)

1. 查看资源占用&#xff08;top指令&#xff09; 可以通过top命令查看CPU、内存使用情况&#xff0c;类似Windows的任务管理器。 默认每5秒刷新一次&#xff0c;语法&#xff1a;直接输入top即可&#xff0c;按q或ctrl c退出。 第一行&#xff1a; top&#xff1a;命令名称…

Arthas实践使用

1.启动 curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar 按下前面对应的数字&#xff0c;即可成功启动 2.用途 实时监控&#xff1a;Arthas 可以实时监控 Java 应用程序的各种指标和状态&#xff0c;例如方法执行时间、线程情况、内存使用情况…

《三》TypeScript 中函数的类型定义

TypeScript 允许指定函数的参数和返回值的类型。 函数声明的类型定义&#xff1a;function 函数名(形参: 形参类型, 形参: 形参类型, ...): 返回值类型 {} function sum(x: number, y: number): number {return x y } sum(1, 2) // 正确 sum(1, 2, 3) // 错误。输入多余的或者…

Studio one6要钱吗?新增了哪些功能

Studio One是Pre sounds公司首次研究开发宿主软件的成果。Studio One在其研发环节就吸取了市面上其他宿主软件的优缺点并且做了专业的调研整改。将其他宿主软件的优点经过改良融合在一起&#xff0c;将不足之处进行舍弃或者优化。 Studio One 6是一款强大的音乐编曲软件,可以帮…

【雕爷学编程】Arduino动手做(113)---5110液晶屏模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

6.1面向对象的介绍和内存

学习面向对象内容的三条主线 • Java 类及类的成员&#xff1a;&#xff08;重点&#xff09;属性、方法、构造器&#xff1b;&#xff08;熟悉&#xff09;代码块、内部类 • 面向对象的特征&#xff1a;封装、继承、多态、&#xff08;抽象&#xff09; • 其他关键字的使用…

LC-1494. 并行课程 II(状压DP)

1494. 并行课程 II 难度困难116 给你一个整数 n 表示某所大学里课程的数目&#xff0c;编号为 1 到 n &#xff0c;数组 relations 中&#xff0c; relations[i] [xi, yi] 表示一个先修课的关系&#xff0c;也就是课程 xi 必须在课程 yi 之前上。同时你还有一个整数 k 。 在…

SSR渲染--01--初识Nuxt

SSR服务端渲染 SSR服务端渲染&#xff1a;在后端将html页面处理好&#xff0c;前端直接展示&#xff08;可以解决为后端给你传了一个html脚本&#xff0c;全段渲染&#xff09; 为什么要有SSR服务端渲染&#xff1f; 可以解决单页面首屏加载慢的问题&#xff0c;同时有利于用…

JUC之可见性和有序性

目录 java内存模型 可见性 现象出现 现象解释 解决方法 有序性 诡异的结果 解决方法 Happens-before规则 java内存模型 Java内存模型&#xff08;Java Memory Model&#xff0c;简称JMM&#xff09;定义了Java程序中各种变量、对象的访问方式和内存关系。JMM规定了线…

小程序-uniapp:uni-app-base 项目基础配置及使用,开箱可用

目前&#xff08;20230605&#xff09;uni-app最新版本&#xff08;3.8.4.20230531&#xff09; 一、官网文档 uni-app官网 二、创建项目 项目目标&#xff1a;vue3tsvitevscode 创建以 typescript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 gitee 下…

consul入门案例及配置热更新的实现及Feign的使用

Consul的简单入门 当Producer启动时,会向Consul发送一个post请求,告诉Consul自己的ip和Port;Consul接收到producer的注册后,每个10S(默认),会向producer发送一个健康检查的请求,检验Producer是否健康当Consumer发送GET方式请求/api/address到Producer时,会先从Consul中拿到一个…

Linux常用命令——gdb命令

在线Linux命令查询工具 gdb 功能强大的程序调试器 补充说明 gdb命令包含在GNU的gcc开发套件中&#xff0c;是功能强大的程序调试器。GDB中的命令固然很多&#xff0c;但我们只需掌握其中十个左右的命令&#xff0c;就大致可以完成日常的基本的程序调试工作。 语法 gdb(选…

DeepFace:人脸识别库 DeepFace 简单认知

写在前面 工作中遇到&#xff0c;简单整理博文内容为 deepface 的简单介绍理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是…

HarmonyOS学习路之开发篇—Java UI框架(使用工具自动生成JS FA调用PA代码)

JS FA&#xff08;Feature Ability&#xff09;调用PA &#xff08;Particle Ability&#xff09;是使用基于JS扩展的类Web开发范式的方舟开发框架所提供的一种跨语言能力调用的机制&#xff0c;用于建立JS能力与Java能力之间传递方法调用、处理数据返回以及订阅事件上报的通道…

代码审计——目录遍历详解

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 漏洞描述02 审计要点03 漏洞特征04 漏洞案例05 修复方案 01 漏洞描述 目录遍历&#xff0c;即利用路径回溯符“../”跳出程序本身的限制目录实现下载任意文件。 例如Web应用源码目录、Web应用配置…

FastDeploy部署参考

一、FastDeploy的gitee地址 https://gitee.com/leiqing1/FastDeploy/blob/release/0.3.0/docs/cn/faq/use_sdk_on_windows.md#21-%E4%B8%8B%E8%BD%BD%E9%A2%84%E7%BC%96%E8%AF%91%E5%BA%93%E6%88%96%E8%80%85%E4%BB%8E%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91%E6%9C%80%E6%96%B0%…

When viruses are good for you 病毒,有时对人体是有益的 | 经济学人20230506版社论双语精翻

本篇来自《经济学人》&#xff08;The Economist&#xff09;2023年5月6日社论&#xff08;Leaders&#xff09;精选&#xff1a;《病毒&#xff0c;有时对人体是有益的》&#xff08;When viruses are good for you&#xff09;。 Bacteriophages 噬菌体 When viruses are goo…

onlyoffice变量提取,处理各种办公文档

onlyoffice变量提取,处理各种办公文档 使用 ONLYOFFICE Docs 在 HumHub 中处理各种办公文档。 带有 HumHub 连接器的 ONLYOFFICE Docs 企业版允许您在灵活的开源社交网络工具包 HumHub 中实时协作查看和编辑办公文档(Word、Excel 或 PowerPoint)。它包括 ONLYOFFICE Docs&#…

代码审计——SQL注入详解

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 漏洞描述02 审计要点03 漏洞特征04 漏洞案例05 修复方案 01 漏洞描述 当应用程序将用户输入的内容&#xff0c;拼接到SQL语句中&#xff0c;一起提交给数据库执行时&#xff0c;就会产生SQL注入威…

代码随想录训练营Day60|84. 柱状图中最大的矩形

84. 柱状图中最大的矩形 class Solution {public int largestRectangleArea(int[] heights) {int res0;// 数组扩容&#xff0c;在头和尾各加入一个元素int [] newHeights new int[heights.length 2];newHeights[0] 0;newHeights[newHeights.length - 1] 0;for (int index…