导入TS文件中使用svelte-i18n的$number时出现未定义错误
问题原因与解决方案
核心问题
$number 是 Svelte 组件专属的自动订阅语法糖,仅在 .svelte 文件中会被编译器识别并处理。普通 .ts 文件没有这个编译支持,直接使用会触发 ReferenceError。
解决方法
在 .ts 文件中,需要通过 Svelte 的 get() 函数手动获取 number store 的当前值,再调用格式化方法:
import { get } from 'svelte'; import { number } from 'svelte-i18n'; // 获取数字格式化函数 const formatNumber = get(number); // 执行格式化操作 alert(formatNumber(100000000, { locale: "en" }));
额外注意
确保项目已正确初始化 svelte-i18n(比如在入口文件中配置 locale、加载翻译资源),否则格式化功能可能无法正常工作。
内容的提问来源于stack exchange,提问作者wergeld
相关产品推荐
相关产品推荐

