gpt4 book ai didi

javascript - 如何使用 Knockout foreach 构建多列布局?

转载 作者:行者123 更新时间:2023-11-29 19:30:16 26 4
gpt4 key购买 nike

我已经包含了一个代码片段来演示我正在尝试解决的问题。我正在尝试根据 observableArray 中的数据构建一个两列布局。我试过使用 Knockout if 绑定(bind),但这在 foreach 中效果不佳。这看起来应该非常简单,但出于某种原因,我一直无法弄清楚如何在 Knockout 领域内完成这项工作。

function ViewModel() {
var self = this;

self.People = ko.observableArray([1, 2, 3, 4, 5]);
}

var viewModel = new ViewModel();

ko.applyBindings(viewModel);
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>

<h4>Current</h4>

<div class="row">
<div class="col-xs-12" data-bind="foreach: People">
<p data-bind="text: $data"></p>
</div>
</div>

<h4>Desired</h4>

<div class="row">
<div class="col-xs-12">
<div class="row">
<div class="col-xs-6">1</div>
<div class="col-xs-6">2</div>
</div>
<div class="row">
<div class="col-xs-6">3</div>
<div class="col-xs-6">4</div>
</div>
<div class="row">
<div class="col-xs-6">5</div>
</div>
</div>
</div>

最佳答案

试试看:

<div class="row">
<div class="col-xs-12" data-bind="foreach: People">
<!-- ko if: $index() % 2 == 0 -->
<div class="row">
<div class="col-xs-6" data-bind="text: $parent.People()[$index()]"></div>
<div class="col-xs-6" data-bind="text: $parent.People()[$index()+1]"></div>
</div>
<!-- /ko -->
</div>
</div>

JsFiddle

关于javascript - 如何使用 Knockout foreach 构建多列布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com