< 用户:玲子
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
const content = document.getElementById( 'mw-content-text' ); | |||
if ( !content ) { | |||
console.log('非内容页面'); | |||
return; | |||
} | |||
// 等待页面加载完成 | // 等待页面加载完成 | ||
mw.loader.using( '@wikimedia/codex' ).then( function( require ) { | mw.loader.using( '@wikimedia/codex' ).then( function( require ) { | ||
const Vue = require( 'vue' ); | const Vue = require( 'vue' ); | ||
const Codex = require( '@wikimedia/codex' ); | const Codex = require( '@wikimedia/codex' ); | ||
// 创建 Vue 应用 | // 创建 Vue 应用 | ||
const app = Vue.createApp({ | const app = Vue.createApp({ | ||
第49行: | 第57行: | ||
const container = document.createElement('div'); | const container = document.createElement('div'); | ||
container.id = 'codex-demo'; | container.id = 'codex-demo'; | ||
content.insertBefore( container, content.firstChild ); | |||
// 挂载 Vue 应用 | // 挂载 Vue 应用 | ||
app.mount('#codex-demo'); | app.mount('#codex-demo'); | ||
}); | }); |
2025年5月28日 (三) 20:58的版本
const content = document.getElementById( 'mw-content-text' );
if ( !content ) {
console.log('非内容页面');
return;
}
// 等待页面加载完成
mw.loader.using( '@wikimedia/codex' ).then( function( require ) {
const Vue = require( 'vue' );
const Codex = require( '@wikimedia/codex' );
// 创建 Vue 应用
const app = Vue.createApp({
data() {
return {
showDialog: false
};
},
methods: {
openDialog() {
this.showDialog = true;
},
closeDialog() {
this.showDialog = false;
}
},
template: `
<div>
<cdx-button
weight="primary"
@click="openDialog"
>
打开对话框
</cdx-button>
<cdx-dialog
v-model:open="showDialog"
title="提示"
@close="closeDialog"
>
<p>这是一个使用 Codex 和 Vue 实现的对话框示例。</p>
<template #footer>
<cdx-button
weight="primary"
@click="closeDialog"
>
确定
</cdx-button>
</template>
</cdx-dialog>
</div>
`
});
// 创建容器元素
const container = document.createElement('div');
container.id = 'codex-demo';
content.insertBefore( container, content.firstChild );
// 挂载 Vue 应用
app.mount('#codex-demo');
});