当前浏览器不支持canvas,请更换浏览器后再试

vue-code-diff

Vue中格式化对比json串插件

安装

yarn add vue-code-diff

npm install vue-code-diff

使用

<template>
  <div>
    <code-diff :old-string="oldStr" :new-string="newStr" :context="10" />
  </div>
</template>

import CodeDiff from 'vue-code-diff'
export default {
  components: {CodeDiff},
  data(){
    return {
      oldStr: 'old code',
      newStr: 'new code'
    }
  },

  mounted() {
    this.getgrouplist();
  },
  methods: {

    getgrouplist() {

      let oldJSON = {

                  measures: [
                      {
                          metric: 'coverage测试一下',
                          value: '0.0',
                          periods: [{ index: 1, value: '0.0' }],
                          component: ' \n \r <br/ > com.umetrip.msg:AirlinesAbnormalTickets',
                      },
                      {
                          metric: 'coverage',
                          value: '0.0',
                          periods: [{ index: 1, value: '0.0' }],
                          component: 'com.umetrip.etd:AirportDelayReason',
                      },
                  ],

    }


    let newJSON = {

                  measures: [
                      {
                          metric: 'coverage小改动',
                          value: '0.0',
                          periods: [{ index: 2, value: '0.1' }],
                          component: 'com.umetrip.msg:AirlinesAbnormalTickets',
                      },
                      {
                          metric: 'coverage',
                          value: '0.0',
                          periods: [{ index: 1, value: '0.0' }],
                          component: 'com.umetrip.etd:AirportDelayReason',
                      },
                  ],

     }

     this.oldStr = JSON.stringify(oldJSON, null, 4);
     this.newStr = JSON.stringify(newJSON, null, 4);
    },
  }

}

参数说明

参数说明类型可选值默认值
old-string 陈旧的字符串 string
new-string 新的字符串 string
context 不同地方上下间隔多少行不隐藏 number
outputFormat 展示的方式 string line-by-line,side-by-side line-by-line
drawFileList 展示对比文件列表 boolean - false
renderNothingWhenEmpty 当无对比时不渲染 boolean - false
diffStyle 每行中对比差异级别 string word, char word
fileName 文件名 string -  
isShowNoChange 当无对比时展示源代码 boolean - false

效果展示

line-by-line

image

side-by-side

image

 

 

 

posted @ 2021-07-05 10:16  高亮uncle  阅读(2827)  评论(0编辑  收藏  举报