我有一组玩家: {id: string; 名称:字符串}[],当有新玩家可用时由 firebase 更新。这每次都会给出一个新的玩家数组,其中包含新的玩家对象,但具有相同的 id。
因为我想在添加/删除玩家时为元素设置动画,所以我想重用基于 player.id 的元素。
AFAIK 你只能将一个对象传递给wire函数,而不是player.id(字符串)。有什么办法可以做到这一点?
const playerEls = players.map((p, i) => hyperHTML.wire(p.id)`<div class="player" style="${`transform: translateY(${i * 20}px);`}">${p.name}</div>`);
hyperHtml.bind(document.body)`<h1>Players</h1>${playerEls}`
在这里你可以找到一个可以玩的 codepen:https ://codepen.io/jovdb/pen/rdOzvY
我也尝试过使用hyperHTML.wire(p, ':player-' + p.id)
,但这会重新创建所有元素。