Svelte中导入变量storedCAtId加$才可运行的原因咨询
问题原因解释
这是Svelte框架里的典型场景,核心和它的响应式Store机制有关:
- 你导入的
storedCAtId是一个Svelte响应式Store对象(比如用writable创建的),它本身不是数组或字符串,只是一个带subscribe方法的容器,自然没有indexOf方法,直接调用就会报错。 - 加
$前缀是Svelte的语法糖,它会自动帮你订阅这个Store,取出里面存储的实际数据值。如果这个实际值是数组/字符串类型,就能正常调用indexOf方法了。
简单说:直接用storedCAtId拿的是Store容器,加$拿的是容器里的真实数据。
内容的提问来源于stack exchange,提问作者Shanxx
相关产品推荐
相关产品推荐

