【发布时间】:2016-02-19 01:49:48
【问题描述】:
我正在使用 knockoutJs,但 observableArray 有问题。
这里是代码:
var productOid = this.product._oid;
for (var oid in this.basket.dataProvider.persistentBasketItems) {
var item = this.basket.dataProvider.persistentBasketItems[oid];
var reference = this.basket.dataProvider.references[item.referenceOid];
if (!reference) continue;
if (reference.productOid == productOid) {
for (var i = 0; i < item.productComplements.length; i++) {
complements.push(item.productComplements[i]);
}
break;
}
}
this.complements = ko.observableArray(complements);
var grid = this.grid();
if (grid)
grid.updateComplements();
这是html代码:
<span data-bind="text: $parent.complements[openRank]"></span>
openRank 属性定义在视图绑定的视图模型上。
正如您在下面的屏幕截图中所见,数组中存在数据。
有人可以帮忙吗?
最好的问候,
【问题讨论】:
-
我会添加这条你永远不知道它可能会有所帮助的评论。我在页面上有一个下拉列表或者我可以选择数据显示模式,如果我改变模式(不刷新页面),我可以在 UI 中看到数据
-
不,抱歉,我不明白您的问题是什么?
-
这里有一个小视频来解释到底发生了什么:expirebox.com/download/a02facfbeba73fb250ed282baab12482.html
-
openRank是可观察的吗? -
不,这只是 viewModel 中的一个简单属性。
标签: knockout.js