【发布时间】:2021-11-12 09:00:34
【问题描述】:
我正在尝试创建一个 Svelte 应用程序,将国际象棋移动存储在一个数组中。每次创建新的白色移动时,都应在数组中创建一个新对象。创建黑色移动应该简单地更新最后一个对象中的字段black_move。但是,在再次按下白色移动按钮之前,输出不会对此更新做出反应。可能是什么问题? REPL 是here。
import { writableArray } from './store.js';
const moveWhite = () => {
$writableArray = [...$writableArray, {
white_move: 'a1-a2',
black_move: ''
}];
};
const moveBlack = () => {
$writableArray.at(-1).black_move = 'b1-b2'
};
<button on:click={moveWhite}>
Move White
</button>
<button on:click={moveBlack}>
Move Black
</button>
{#each $writableArray as item}
{item.white_move} {item.black_move}
{/each}
商店定义如下:
import { writable } from 'svelte/store';
export const writableArray = writable([]);
【问题讨论】:
标签: svelte