如何将Vue表情包输入组件改写为长尾词?

2026-04-06 20:541阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计749个文字,预计阅读时间需要3分钟。

如何将Vue表情包输入组件改写为长尾词?

%E2%80%9CEmotion:Vue%E8%A1%A8%E6%83%85%E8%BE%93%E5%85%A5%E7%BB%84%E4%BB%B6+https://gitee.com/jiangliyue/vue_expression_input_module/index%E2%80%9D%E6%A1%88%E4%BE%8B%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B%EF%BC%8C%E6%98%AF%E7%BB%84%E4%BB%B6%E4%BB%A3%E7%A0%81%EF%BC%88%E8%BF%99%E9%87%8C%E7%94%A8%E7%9A%84%E6%98%AF%E5%BE%AE%E4%BF%A1%E8%A1%A8%E6%83%85%E5%8C%85%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E5%A4%A7%E5%AE%B6%E5%8F%AF%E6%A0%B9%E6%8D%AE%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%EF%BC%89%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%90%AF%E5%8A%A8%E9%A1%B9%E2%80%9D

Emotion

一个用于vue的表情输入组件
gitee.com/jiangliyue/vue_expression_input_module

index是使用示例,emotion是组件代码(这里用的是微信表情包的地址,大家可根据需要修改)

下载安装启动项目查看效果

npm install npm run dev

Emotion文件夹下Emotion文件说明

实现原理是根据字段对在线表情包图片进行匹配替换
代码中 img 标签的地址即为表情图片地址,可自己根据需求替换

mounted () { const name = this.$el.innerHTML const list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极'] let index = list.indexOf(name) let imgHTML = `<img src="res.wx.qq.com/mpres/htmledition/images/icon/emotion/${index}.gif">` this.$nextTick(() => { this.$el.innerHTML = imgHTML }) },

Emotion文件夹下index文件说明

通过循环列表生成表情包选择框

<div class="emotion-box-line" v-for="(line, i) in list" :key="i" > <emotion class="emotion-item" v-for="(item, i) in line" :key="i" @click.native="clickHandler(item)" >{{item}}</emotion> </div>

最后需要注意的是表情包评论后保存到后台的是相关字符串,展示时需要还原成图片,具体方法可参考index文件,我这里用了正则匹配转化,还是比较方便的

<div class="text-place"> <!-- /\#[\u4E00-\u9FA5]{1,3}\;/gi 匹配出含 #XXX; 的字段 --> <p v-html="content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, emotion)"></p> </div>

就这么简单,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

如何将Vue表情包输入组件改写为长尾词?

标签:实现代码

本文共计749个文字,预计阅读时间需要3分钟。

如何将Vue表情包输入组件改写为长尾词?

%E2%80%9CEmotion:Vue%E8%A1%A8%E6%83%85%E8%BE%93%E5%85%A5%E7%BB%84%E4%BB%B6+https://gitee.com/jiangliyue/vue_expression_input_module/index%E2%80%9D%E6%A1%88%E4%BE%8B%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B%EF%BC%8C%E6%98%AF%E7%BB%84%E4%BB%B6%E4%BB%A3%E7%A0%81%EF%BC%88%E8%BF%99%E9%87%8C%E7%94%A8%E7%9A%84%E6%98%AF%E5%BE%AE%E4%BF%A1%E8%A1%A8%E6%83%85%E5%8C%85%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E5%A4%A7%E5%AE%B6%E5%8F%AF%E6%A0%B9%E6%8D%AE%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%EF%BC%89%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%90%AF%E5%8A%A8%E9%A1%B9%E2%80%9D

Emotion

一个用于vue的表情输入组件
gitee.com/jiangliyue/vue_expression_input_module

index是使用示例,emotion是组件代码(这里用的是微信表情包的地址,大家可根据需要修改)

下载安装启动项目查看效果

npm install npm run dev

Emotion文件夹下Emotion文件说明

实现原理是根据字段对在线表情包图片进行匹配替换
代码中 img 标签的地址即为表情图片地址,可自己根据需求替换

mounted () { const name = this.$el.innerHTML const list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极'] let index = list.indexOf(name) let imgHTML = `<img src="res.wx.qq.com/mpres/htmledition/images/icon/emotion/${index}.gif">` this.$nextTick(() => { this.$el.innerHTML = imgHTML }) },

Emotion文件夹下index文件说明

通过循环列表生成表情包选择框

<div class="emotion-box-line" v-for="(line, i) in list" :key="i" > <emotion class="emotion-item" v-for="(item, i) in line" :key="i" @click.native="clickHandler(item)" >{{item}}</emotion> </div>

最后需要注意的是表情包评论后保存到后台的是相关字符串,展示时需要还原成图片,具体方法可参考index文件,我这里用了正则匹配转化,还是比较方便的

<div class="text-place"> <!-- /\#[\u4E00-\u9FA5]{1,3}\;/gi 匹配出含 #XXX; 的字段 --> <p v-html="content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, emotion)"></p> </div>

就这么简单,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

如何将Vue表情包输入组件改写为长尾词?

标签:实现代码