组件封装使用,vue 实现json 编辑器
2021/9/1 6:07:54
本文主要是介绍组件封装使用,vue 实现json 编辑器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
依赖:
npm install vue-codemirror
可能遇到错误
npm install file
npm install system
子组件封装
components.vue
<template> <codemirror class="code-dec" ref="jsonEditor" v-model="jsondata" :options="options" style="height: 600px;" @input="changeCode" /> </template> <script> import { codemirror } from 'vue-codemirror' import 'codemirror/lib/codemirror.css' import 'codemirror/mode/javascript/javascript' import 'codemirror/addon/selection/active-line' import 'codemirror/keymap/sublime' import 'codemirror/mode/css/css' import 'codemirror/theme/monokai.css' import 'codemirror/addon/lint/lint' import 'codemirror/addon/lint/lint.css' import 'codemirror/addon/lint/json-lint' import 'codemirror/addon/display/autorefresh' export default{ props:{ codedata:{ type:String, required:true, default:'{}' } }, components: { codemirror } , data () { return { jsondata:this.codedata, options:{ tabSize: 4, mode: 'application/json', theme: 'base16-dark', lineNumbers: true, line: true, lint: true, // 代码格式检查 gutters: ['CodeMirror-lint-markers', 'CodeMirror-foldgutter'], } } }, methods: { getCodeValue(){ let codedata = this.$refs.jsonEditor.codemirror console.log(codedata) }, changeCode(newdata){ this.jsondata=newdata console.log(this.jsondata) // 子传消息告诉父亲,执行方法和参数 this.$emit('changeparent',newdata); } }, } </script> <style lang="less" scoped> * /deep/ .code-dec { touch-action: none; } </style>
父组件中使用子组件:
<template> <code-editor :codedata="data" @changeparent="changeValue"></code-editor> </template> <script> import codeEditor from "@/components/codeEditor" export default{ components: { codeEditor } , data () { return { data:'{"11":222}' } }, methods: { changeValue(value){ this.codedata= value console.log(`父组件值: ${this.codedata}`) } }, created () { this.data =JSON.stringify({"a1":111111}) } } </script>
这篇关于组件封装使用,vue 实现json 编辑器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程