Nativescript UI 未更新

Nativescript UI not updating

游乐场:https://play.nativescript.org/?template=play-tsc&id=ZQ8J69&v=12

我似乎无法从我的 UI 模板访问数组元素。我正在尝试创建一个简单的宾果卡。在 UI 如果我这样做:

<Label text="{{ card }}" />

我得到了预期的 [object]。

<Label text="{{ card.b }}" />

按预期给我 [object]、[object](一个数组)。

<Label text="{{ card.b[0] }}" />

我一无所获。从控制台日志可以看出,肯定设置了card.b[0]。

我不明白为什么我的 UI 不会反映我的可观察对象 objects/arrays

中的内容

您使用的是 ObservableArray,而不是简单的数组。您不能简单地通过索引访问项目。您必须在 JavaScript 中调用 getItem(index)。在 XML 中,您可以直接执行 card.b._array[index] 或编写 converter function 以从特定索引获取值。

仅供参考,ObservableArray 通常用于动态构建 UI。您正在静态构建 UI,试图访问可能存在或不存在的索引。使用 Repeater 遍历数组并根据可用的内容构建 UI。如果此数组中的项目超过 10 或 20 个,我建议使用 ListView 而不是 Repeater。