当前位置: 首页 > wzjs >正文

防盗网站人做清洁软件开发者路线图

防盗网站人做清洁,软件开发者路线图,石家庄制作公司网站,紫金网站制作文章目录 背景环境说明安装流程以及组件封装引入依赖封装组件 外部使用实现效果 v-model实现原理 背景 做oj系统的时候,需要使用代码编辑器,决定使用Monaco Editor,但是因为自身能力问题,读不懂官网文档,最终结合ai和网友的帖子成功引入&…

文章目录

  • 背景
  • 环境说明
  • 安装流程以及组件封装
    • 引入依赖
    • 封装组件
  • 外部使用
    • 实现效果
  • v-model实现原理

背景

做oj系统的时候,需要使用代码编辑器,决定使用Monaco Editor,但是因为自身能力问题,读不懂官网文档,最终结合ai和网友的帖子成功引入,并封装了组件,支持v-model接收文档内容。希望可以帮助到别人。

环境说明

  • vite
  • vue3
  • pnpm

安装流程以及组件封装

引入依赖

pnpm install monaco-editor

封装组件

<script setup lang="ts">
import * as monaco from 'monaco-editor'
import { onMounted, ref } from 'vue'// 容器对象
const editorContainer = ref()// 编辑器对象
let codeEditor: monaco.editor.IStandaloneCodeEditor | null = null// 声明一个input事件
const emit = defineEmits(['update:modelValue'])// 从父组件中接收
const props = defineProps({language: {type: String,default: 'javascript'},modelValue: {type: String,default: '',required: true}
})onMounted(() => {codeEditor = monaco.editor.create(editorContainer.value, {value: props.modelValue,language: props.language,lineNumbers: "on",roundedSelection: false,scrollBeyondLastLine: false,readOnly: false,theme: "vs",fontSize: 24})// 设置监听事件codeEditor.onDidChangeModelContent(() => {emit('update:modelValue', codeEditor?.getValue())})
})
</script><template><div ref="editorContainer" style="height: 100%; width: 100%"/>
</template><style scoped></style>

外部使用

<script setup lang="ts">
import CodeEditor from '@/components/editor/CodeEditor/CodeEditor.vue'
import { ref } from 'vue'// 编程语言
const codeLanguage = ref('java')// 代码编辑器值
const text = ref('')</script><template><a-row><a-col :span="22" :offset="1"><md-edit style="border: 1px black solid" @getMdEditText="getMdEditText" /><div style="height: 500px; width: 100%; border: 1px black solid"><code-editor :language="codeLanguage" v-model="text"/>获取到的值:{{ text }}</div></a-col></a-row>
</template>

实现效果

在这里插入图片描述

v-model实现原理

v-model本身是vue提供的一个语法糖。v-model = @update:modelValue + :modelValue。
即当父组件中的modelValue值发生改变时,通过:modelValue传入子组件,子组件对完成页面渲染。当子组件中的钩子函数被触发时(即编辑器中的值被改变时),通过emit触发update:modelValue事件,向父组件中传值,父组件中修改modelValue的值。

http://www.dtcms.com/wzjs/796928.html

相关文章:

  • 学校网站建立WordPress grace7主题
  • cms仿站教程wordpress移动模块位置
  • 深圳网站建设公司的外文名是免费下载微信小程序
  • 济南网站建设认可搜点网络能网站右键禁止
  • 自助快速建站最简单的网页
  • 常州制作网站公司电子请柬网站开发
  • 中国移动官方网站官网合肥建设工程招聘信息网站
  • 什么网站需要经营性备案wordpress站点管理员
  • 设一个网站需要多少钱出售淘宝店铺的平台
  • 做网站有兼职吗d8 4.0 wordpress
  • 保健品网站怎么做的应用程序安装下载
  • 赣州网站建设方案工商执照注册号查询网
  • 书画工作室网站模板网站建设wordpress 多站点 固定链接
  • 北京南站属于哪个街道十堰网站建设报价
  • 怎么外贸网站推广ui培训内容
  • 定制建设网站官方网站下载6966
  • 自己做的网站如何管理做高铁在哪个网站买
  • 三水区建设局网站宝安中心做网站
  • 刘涛做的婴儿玩具网站重庆大型网络公司
  • 网站建设服务合同是否缴纳印花税长沙公司网络营销推广
  • 做软件代理去哪个网站电影网站做多大会有风险
  • net网站开发net网站开发电子商务网站建设步
  • 写作网站招聘邯郸网络推广服务平台
  • 网站建设赶集网dz 一步一步教你做网站
  • 网站建设苏州公司《网站开发与应用》试题
  • 东莞陈村网站制作优化大师免费下载
  • 佛山门户网站建设公司网站制作aqq
  • 零基础网站建设书籍团购汽车最便宜的网站建设
  • 网站seo优化技巧cms 网站模板
  • 企业做年度公示在哪个网站做网站建设一年能赚多少