JSON或代码对比的工具-vue

Vue 中JSON或代码对比的插件和工具

先看效果
实现方案
js 复制代码
// 1、安装依赖
"vue-diff": "^1.2.4"

///2、main.ts 注册组件
import VueDiff from 'vue-diff';
import 'vue-diff/dist/index.css';

app.use(VueDiff);


///3、页面使用组件
<template>
  <el-dialog title="对比 ">
    <Diff
      mode="split"
      theme="light"
      language="json"
      :prev="oldStr"
      :current="newStr"
      style="height: 500px; margin-top: 20px; overflow-y: auto"
    />
  </el-dialog>
</template>

<script setup>

const obj = {
  room_rule: {
    player_limit: 4,
    hand_ready: 2,
    limit_same_ip: 1,
    game_srcj: 0,
    continue_game: 0,
    start_left_time: 10,
    share_gps: 2,
    yu_yin: 0,
    name: {
      nameStr: "张三",
      level: "大师",
      info: {
        name: "张三",
        desc: "这是个人描述",
        sub: {
          name: "张三",
          desc: "这是个人描述",
        },
      },
    },
    room_name: "欢乐2048",
    room_desc: "无房卡,房卡,金币",
  },
};

const obj1 = {
  room_rule: {
    player_limit: 4,
    hand_ready: 2,
    limit_same_ip: 1,
    game_srcj: 0,
    start_left_time: 10,
    type: 0,
    share_gps: 2,
    yu_yin: 0,
    name: {
      nameStr: "张三",
      level: "大师",
      info: {
        name: "张三000",
        desc: "这是个人描述",
        sub: {
          name: "张三111111",
          desc: "这是个人描述33333",
        },
      },
    },
  },
};

const oldStr = JSON.stringify(obj, null, 2);
const newStr = JSON.stringify(obj1, null, 2);
</script>

<style lang='scss' scoped>
</style>
实现方案
js 复制代码
// 1、安装依赖
"vue-diff": "^1.2.4"

///2、main.ts 注册组件
import VueDiff from 'vue-diff';
import 'vue-diff/dist/index.css';

app.use(VueDiff);


///3、页面使用组件
<template>
  <el-dialog title="对比 ">
    <Diff
      mode="split"
      theme="light"
      language="json"
      :prev="oldStr"
      :current="newStr"
      style="height: 500px; margin-top: 20px; overflow-y: auto"
    />
  </el-dialog>
</template>

<script setup>

const obj = {
  room_rule: {
    player_limit: 4,
    hand_ready: 2,
    limit_same_ip: 1,
    game_srcj: 0,
    continue_game: 0,
    start_left_time: 10,
    share_gps: 2,
    yu_yin: 0,
    name: {
      nameStr: "张三",
      level: "大师",
      info: {
        name: "张三",
        desc: "这是个人描述",
        sub: {
          name: "张三",
          desc: "这是个人描述",
        },
      },
    },
    room_name: "欢乐2048",
    room_desc: "无房卡,房卡,金币",
  },
};

const obj1 = {
  room_rule: {
    player_limit: 4,
    hand_ready: 2,
    limit_same_ip: 1,
    game_srcj: 0,
    start_left_time: 10,
    type: 0,
    share_gps: 2,
    yu_yin: 0,
    name: {
      nameStr: "张三",
      level: "大师",
      info: {
        name: "张三000",
        desc: "这是个人描述",
        sub: {
          name: "张三111111",
          desc: "这是个人描述33333",
        },
      },
    },
  },
};

const oldStr = JSON.stringify(obj, null, 2);
const newStr = JSON.stringify(obj1, null, 2);
</script>

<style lang='scss' scoped>
</style>
相关推荐
lemon_yyds2 小时前
uVIew2 弹框滚动穿透问题-[uu-popup ]组件
vue.js
超爱吃香菜的菜鸟3 小时前
关于pnpm 部分使用(一)
前端·vue.js
jingchao19987 小时前
Cannot read properties of null (reading ‘insertBefore‘)
前端·javascript·vue.js
猫不易1 天前
从 Virtual DOM 到 Vapor:Vue 3.6 的另一条路
前端·vue.js
岁岁种桃花儿1 天前
Vue核心语法第十二篇:条件渲染
前端·javascript·vue.js
雪碧聊技术1 天前
Vue + Element Plus 实现文本溢出显示省略号及悬浮提示
前端·javascript·css·vue.js·文本溢出省略
Highcharts.js1 天前
Highcharts 主流前端框架无缝集成指南
前端·vue.js·前端框架·highcharts·可视化图表
岁岁种桃花儿1 天前
Vue核心语法第十一篇:绑定样式
前端·javascript·vue.js
大龄码农有梦想2 天前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
岁岁种桃花儿2 天前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js