代码拉取完成,页面将自动刷新
<template>
<monaco-editor
v-model="code"
style="flex:1"
:language="selectedLanguage"
:theme="selectedTheme"
@ready="editorReady"
>
</monaco-editor>
</template>
<script lang="ts" setup>
import monacoEditor, { LanguageList, ThemeName, ThemeStore } from "../";
import { ref, reactive, onMounted } from "vue";
const code = ref("");
const ThemeNames = ref([]);
const selectedTheme = ref<ThemeName>("github-gist");
const selectedLanguage = ref<LanguageList>("javascript");
const Languages = ref([]);
onMounted(() => {
fetch(
"https://cdn.jsdelivr.net/npm/@konghayao/promise-transaction/src/index.js"
)
.then((res) => res.text())
.then((Code) => (code.value = Code));
console.log("代码载入");
});
const editorReady = () => {
console.log("编辑器准备完成");
// 只有当编辑器完成之后才会自动加载这些数据
ThemeNames.value = Object.keys(ThemeStore);
Languages.value = window.monaco.languages.getLanguages().map((i) => i.id);
selectedLanguage.value = "typescript";
selectedTheme.value = "github-gist";
};
</script>
我们使用了 jsDelivr CDN 对 MonacoEditor 加速,所以我们的包自身非常小。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。