JSFiddle - React, Tailwind, and code Playground
by skirtle
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.global.js"></script>
<div id="app">
{{ tabServiceRef.selectedTab }}
<button @click="setTab">Test</button>
</div>
JavaScript
const tabService = () => {
return {
selectedTab: {},
setSelectedTab (tab) {
console.log(this)
this.selectedTab = tab;
}
};
};
const tabServiceFactory = tabService();
const App = {
name: 'App',
data() {
return {
tabServiceRef: tabServiceFactory,
};
},
methods: {
setTab() {
this.tabServiceRef.setSelectedTab({
value: Date.now()
})
}
}
}
Vue.createApp(App).mount('#app')