疑问:
ts的setup与js的data、methods的区别
下面的 setup
语法等价于
setup() {
const {locale} = useI18n()
const langs = [
{
value: 'zh_CN',
label: "简体中文"
},
{
value: 'en_US',
label: "English"
}
]
function langChanged(lang: string) {
console.log("langChanged=>", lang);
localStorage.Lang = lang;
locale.value = lang;
}
// 设置默认语言
if (localStorage.Lang != null) locale.value = localStorage.Lang;
return {langs, langChanged}
},
这种
data() {
return {
langs: [
{
value: 'zh_CN',
label: "简体中文"
},
{
value: 'en_US',
label: "English"
}
]
}
},
methods: {
langChanged(lang) {
console.log("langChanged=>", lang);
localStorage.Lang = lang;
}
},
mounted() {
if (localStorage.Lang != null) this.$i18n.locale = localStorage.Lang;
}
最佳实现是使用 <script type="ts" setup></script>
参考官方文档:https://vuejs.org/api/sfc-script-setup.html
也可参考:https://learnvue.co/tutorials/script-setup