我有一个$lib/dates.ts导出一些日期格式化函数的文件。
从文件中设置__layout.svelte用户区域设置。userLocale$store/auth.ts
在我的内部,dates.ts我想访问该属性,但收到未定义的$userLocale错误。$userLocale
有没有办法在 $lib 文件中使用存储,而不必将其传递给函数调用?
import { userLocale } from '$stores/auth';
export const week = d => new Intl.DateTimeFormat($userLocale, { weekday: 'short' }).format(d);
Run Code Online (Sandbox Code Playgroud)
从我的组件中我会这样做:
import { week } from '$lib/dates.ts'并打电话week(new Date())
我真的希望我不必将语言环境传递给每个方法调用...如果我不能使用 $lib 内的存储
get如果您不需要订阅,您应该使用该函数来读取存储值
import { get } from 'svelte/store';
const $userLocale = get(userLocale);
Run Code Online (Sandbox Code Playgroud)
请注意,您应该在函数中读取此值,否则它将始终具有初始值,并且当用户更改它时不会更新。
不要使用“svelte/internal”中的内容,因为这些内容没有文档记录,并且可以随时更改(尽管不太可能),而不被视为重大更改。
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |