【发布时间】:2014-02-28 19:02:05
【问题描述】:
我正在遍历一个数组并通过组合显示其内容
<!-- ko foreach: { data: datas} -->
<div>
<!-- ko compose: {
model: 'show',
activationData: {
bundle:bundle
},
} -->
<!-- /ko -->
</div>
<!-- /ko -->
该组合调用了一个模型 show.js,该模型将 activationData 包包装在一个可观察对象中并将其显示在一个表格中
function (logger, utils) {
var bundle = ko.observable();
var activate = function (data) {
// process data.bundle further
bundle(populateBundle(data.bundle));
};
}
show.html
<table class="table table-bordered">
<tbody>
<!-- ko foreach: {data:bundle().groups, as:'group'} -->
<tr>
<td class="tolerances-values" align="center"><span data-bind="text: group.name"></span></td>
<td class="tolerances-values" align="center"><span data-bind="text: group.code"></span></td>
</tr>
<!-- /ko -->
</tbody>
</table>
一切正常,但是当我循环多个数据时,之前显示的所有组合都会显示最后一个元素的内容。我知道这与我将捆绑包用作可观察对象这一事实有关,但我如何才能让组合将发送到组合的每个捆绑包都视为孤立的可观察对象?我有什么遗漏吗
【问题讨论】:
标签: knockout.js durandal