<template>
<form>
<label for="locale-select">select language: </label>
<select id="locale-select" v-model="locale">
<option value="en_US">en_US</option>
<option value="zh_CN">zh_CN</option>
</select>
</form>
<div>
<TestVueUse></TestVueUse>
<TestVueInject></TestVueInject>
</div>
</template>
<script>
import { ref, provide, watch } from 'vue'
import { I18nInjectionKey } from 'vue-i18n'
import TestVueUse from './test/TestVueUse.vue'
import TestVueInject from './test/TestVueInject.vue'
import i18n from './lib'
export default {
components: {
TestVueUse,
TestVueInject
},
setup() {
const locale = ref('zh_CN')
provide(I18nInjectionKey, i18n)
watch(
locale,
(newVal) => {
i18n.global.locale.value = newVal
},
{ immediate: true }
)
return {
locale
}
}
}
</script>