【发布时间】:2020-10-16 18:06:45
【问题描述】:
基本上我正在从服务器接收 JSON,并希望将属性添加到我正在循环的对象或组件的 x-data,这可以通过 alpine.js 实现吗?
数据是按时间间隔请求的数据,类似于:
let teams = [
{ id: 1, name: 'Person 1'},
{ id: 2, name: 'Person 2'},
...
];
我想做的是向循环的team 对象添加一个新属性favourite,默认设置为false,或者将其添加为组件数据。我计划稍后使用此属性过滤列表。目前我有:
<template x-for="team in teams" :key="team.id">
<tr>
<td x-text="team.name"></td>
<td>
<input type="checkbox" x-model="favourite">
</td>
</tr>
</template>
我已经尝试了一些方法来使其正常工作,例如使用:
x-data="{ team: team, favourite: false }"
在tr 和template 标记上以及不将team 对象传递给x-data 指令。 x-for 和 x-data 指令之间似乎存在冲突,因为这会引发错误:Uncaught ReferenceError: team is not defined
我也尝试在x-data 指令旁边使用x-init,但无济于事。
在这个阶段,我想知道是否必须切换到另一个 JS 库才能使其正常工作(如有必要,欢迎提出建议),或者我的方法是否根本错误。
任何帮助/指针将不胜感激。
【问题讨论】:
标签: javascript arrays object alpine.js