If statement 敲除数组中的if语句
我试图使用计数变量一次加载一个击倒可观察数组25项。这个想法是,当你点击一个按钮时,你会在列表中看到另外25个项目。听起来很简单,但我对击倒没用 我尝试调用$root.getCount和$parent.getCount,并将getCount作为一个值放在我的列表视图div中,但都不起作用。我可能想得太多了。我要做的就是在if语句中放入一个命名变量,其中$getCount是。帮助会很棒的If statement 敲除数组中的if语句,if-statement,for-loop,knockout.js,If Statement,For Loop,Knockout.js,我试图使用计数变量一次加载一个击倒可观察数组25项。这个想法是,当你点击一个按钮时,你会在列表中看到另外25个项目。听起来很简单,但我对击倒没用 我尝试调用$root.getCount和$parent.getCount,并将getCount作为一个值放在我的列表视图div中,但都不起作用。我可能想得太多了。我要做的就是在if语句中放入一个命名变量,其中$getCount是。帮助会很棒的 <div class="list-view" > <ul data-bind="fo
<div class="list-view" >
<ul data-bind="foreach: myBigList" class="shop_list">
<!-- ko if: $index() < $getCount -->
<li class="list_row">
</li>
<!-- /ko -->
</ul>
</div>
我不确定我是否理解您真正想要实现的目标,但我假设您已经有一个很大的项目列表,您希望以25人一组的方式显示。您可以使用绑定来实现这一点:
由于
count
是可观察的,因此必须使用函数语法返回它:returncount()代码>。如果要在每次调用updateCount
方法时向count变量添加25,则需要对值进行硬编码
$(function () {
var viewModel = {
count: ko.observable(25),
getCount: function () {
return count();
},
updateCount: function () {
count()+=25;
},
};
ko.applyBindings(viewModel);
})
是否要从服务器加载接下来的25个项目?或者您已经加载了所有项目,您只需要显示25、50等?我已经加载了项目。没错,只是想显示下一个25,50等等
<div class="list-view" >
<ul data-bind="foreach: myBigList" class="shop_list">
<li class="list_row" data-bind="visible: $index() < $parent.count()">
</li>
</ul>
</div>
$(function () {
function ViewModel() {
this.count = ko.observable(25);
this.updateCount = function () {
var newCount = this.count() + 25;
this.count(newCount);
};
}
ko.applyBindings(new ViewModel());
})
$(function () {
var viewModel = {
count: ko.observable(25),
getCount: function () {
return count();
},
updateCount: function () {
count()+=25;
},
};
ko.applyBindings(viewModel);
})