If statement 敲除数组中的if语句

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

我试图使用计数变量一次加载一个击倒可观察数组25项。这个想法是,当你点击一个按钮时,你会在列表中看到另外25个项目。听起来很简单,但我对击倒没用

我尝试调用$root.getCount和$parent.getCount,并将getCount作为一个值放在我的列表视图div中,但都不起作用。我可能想得太多了。我要做的就是在if语句中放入一个命名变量,其中$getCount是。帮助会很棒的

<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);
})