一、App.vue
改文件为入口
二、views目录下新建自己的视图文件,例如Book.vue
最外层标签为:
1、template:内为html,最好里面跟一个div
2、script:js
3、style:css
三、router目录下的index.js配置路由
四、json diff插件
下载::npm install vue-code-diff
(若提示highlight.js升级,执行:npm -g install highlight.js)
1、views目录下Jsondiff.vue
<template>
<section>
<div>
<code-diff
:old-string="oldStr"
:new-string="newStr"
outputFormat="side-by-side"
:context="9999999"
>
</code-diff>
</div>
</section>
</template>
<script>
import CodeDiff from "vue-code-diff";
export default {
name: "JSONCompare",
components: { CodeDiff },
data() {
return {
oldStr: "",
newStr: ""
};
},
mounted() {
this.getgrouplist();
},
methods: {
getgrouplist() {
let oldJSON = {"measures":[{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.msg:AirlinesAbnormalTickets"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.etd:AirportDelayReason"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:CCChangeEventFLink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.data:DXYEpidemicStorage"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DelayNeoFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DetrUpdateFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DipParserFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:EmdFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip:com.umetrip.data"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.datav.courier:courier"}]}
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"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:CCChangeEventFLink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.data:DXYEpidemicStorage"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DelayNeoFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DetrUpdateFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:DipParserFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip.flink:EmdFlink"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.umetrip:com.umetrip.data"},{"metric":"coverage","value":"0.0","periods":[{"index":1,"value":"0.0"}],"component":"com.datav.courier:courier"}]}
this.oldStr = JSON.stringify(oldJSON, null, 4);
this.newStr = JSON.stringify(newJSON, null, 4);
},
}
};
</script>
<style scoped>
</style>
2、router目录下的index.js
import Vue from "vue";
import Jsondiff from "../views/Jsondiff.vue";
Vue.use(VueRouter);
const routes = [
{
path: "/jsondiff",
name: "Jsondiff",
component: Jsondiff
}
];
const router = new VueRouter({
mode: "history",
base: process.env.BASE_URL,
routes
});
export default router;
3、App.vue
<template>
<div id="app">
<div id="nav">
<router-link to="/jsondiff">Jsondiff</router-link>
</div>
<router-view />
</div>
</template>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
#nav {
padding: 30px;
}
#nav a {
font-weight: bold;
color: #2c3e50;
}
#nav a.router-link-exact-active {
color: #42b983;
}
</style>
网友评论