User:Plantaest/TestVue.js

//

if (

mw.config.values.wgCanonicalNamespace === 'Special'

&& mw.config.values.wgCanonicalSpecialPageName === 'Blankpage'

&& mw.config.values.wgTitle.endsWith('/Vue')

) {

mw.loader.using(['vue', '@wikimedia/codex']).then(function (require) {

const Vue = require('vue');

const Codex = require('@wikimedia/codex');

const store = Vue.reactive({

count: 0,

increment() {

this.count++;

},

});

const App = Vue.createMwApp({

template: `

`,

});

App.component('component-a', {

template: `

From A: {{ store.count }}

`,

setup: () => ({ store }),

components: {

CdxButton: Codex.CdxButton,

},

});

App.component('component-b', {

template: `

From B: {{ store.count }}

`,

setup: () => ({ store }),

components: {

CdxButton: Codex.CdxButton,

},

});

App.mount('#content');

});

}

//