Svelte:如何订阅类实例内的存储

Dra*_*nap 5 javascript svelte svelte-store svelte-3

如何订阅writable()类的实例?

class User{
    public money: Writable<number> = writable(0);

    public goToJob(){
        money.update(prev => prev + 100);
    }
}
Run Code Online (Sandbox Code Playgroud)

<script>
    let user = new User();
</script>

<div>{user.$money}</div>
<button on:click={() => user.goToJob()}>Go to Job</button>
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,我希望添加资金并反映在 div 上。尽管我正确地引用了商店,但它并没有更新money

Dra*_*nap 7

解决了; 实际上很容易。只需解构类实例:

<script>
    let user = new User();
    let { money } = user;
</script>

<div>{$money}</div>
<button on:click={() => user.goToJob()}>Go to Job</button>
Run Code Online (Sandbox Code Playgroud)