我创建了一个带有用户列表的商店,我想使用不同的参数进行订购。
store.js
export const users = writable([
{
"id": 11,
"name": "Kepler",
},
{
"id": 13,
"name": "Planck",
},
// more users going in here
为此,我使用了Lodash的orderBy。
情况A.如果我不使用键控的每个块,则orderBy
按预期工作。
应用程序苗条
{#each _.orderBy($users, [param], [order]) as user}
<div>{user.id} {user.name}</div>
{/each}
但是,如果我删除或对我的商店进行一些特定的更改,更新将无法正常工作。Svelte的文档中对发生的事情有更好的解释。
案例B.如果我使用键控的每个块,则会按预期更新工作,但不会更新orderBy
。
应用程序苗条
{#each _.orderBy($users, [param], [order]) as user (user.id)}
<div>{user.id} {user.name}</div>
{/each}
这里有一个关于Svelte REPL的真实例子。
访问上面的链接,点击按钮在升序或降序之间切换。
也许我错过了一些关于每个区块的关键技术,但我想弄清楚Svelte专家是如何解决这个问题的。
这是3.38版本中的一个错误。3.39版本刚刚发布,修复了这个问题。