vue:diff库实现文本对比

打印 上一主题 下一主题

主题 546|帖子 546|积分 1638


  • 安装diff库
  1. npm install diff
复制代码

  • html
  1. <template>
  2.   
  3.    
  4.       {{item.value}}
  5.    
  6.   
  7. </template>
复制代码

  • js
    不支持import 语法,module引入
  1. const Diff = require('diff');
复制代码
数据定义
  1. data () {
  2.     return {
  3.       resultStr: '',
  4.       oldStr: `时光静寂,岁月轻柔,~~这是要删除的文本~~拈一颗素心,轻倚季节的转角,
  5.       看流年的风轻轻吹过,始终相信,时光可以带走最美的年华,岁月可以刻画老去的颜容,
  6.       但那些过往的中的莹亮,那些光阴浸染的情怀,终是停留在记忆深处,
  7.       明媚了岁月,芬芳了生命。`,
  8.       newStr: `时光静寂,岁月轻柔,拈一颗素心,轻倚季节的转角,
  9.       看流年的风轻轻吹过,~~~~~~~这是新增的文本~~~~~~始终相信,时光可以带走最美的年华,岁月可以刻画老去的颜容,
  10.       但那些过往的中的莹亮,那些光阴浸染的情怀,终是停留在记忆深处,
  11.       明媚了岁月,芬芳了生命。`
  12.     }
  13.   },
复制代码
数据处理
  1. const d = Diff.diffChars(this.oldStr, this.newStr)
  2. this.resultStr = d
复制代码

  • css
  1. .remove {
  2.   color: red;
  3.   background-color: #fee8e9;
  4.   text-decoration: line-through;
  5. }
  6. .add {
  7.   color: green;
  8.   background-color: #ddffdd;
  9. }
  10. .default {
  11.   color: grey;
  12. }
复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表