在基本表结构中,我希望能够一次一个地显示一组对象中的一组数据。单击按钮或类似的东西将显示数组中的下一个对象。
诀窍是,我不想使用可见标记,只是隐藏额外的数据。
答案 0 :(得分:2)
只需指定一个属性来指示您要显示的当前元素以及observableArray
中该元素的索引..我已经进行了简单的演示检查。
<div id="persons"> <span data-bind="text: selectedPerson().name"></span>
<br/>
<button data-bind="click: showNext" id="btnShowNext">Show Next</button>
<br/>
</div>
//这里是JS代码
function ViewModel() {
people = ko.observableArray([{
name: "Bungle"
}, {
name: "George"
}, {
name: "Zippy"
}]);
showNext = function (person) {
selectedIndex(selectedIndex() + 1);
};
selectedIndex = ko.observable(0);
selectedPerson = ko.computed(function () {
return people()[selectedIndex()];
});
}
ko.applyBindings(new ViewModel());
请检查此 jsfiddle
答案 1 :(得分:1)
为单个对象创建observable属性,然后在单击next时将该属性设置为其他对象,UI将更新。