如何基于observable创建数组

时间:2014-01-08 11:46:54

标签: knockout.js

这是earlier question的后续行动。

我有一个可观察的属性(pageNumber)从一个JSON对象映射,结构如下:requestData.settings.pageNumber

我想使用Knockout创建一个寻呼机,如下面的代码所示:

<ul class="pagination">

    <!-- ko foreach: Paging() -->
        <li data-bind="click: function () { $root.changePage($data) }" class="active">
            <a href="#" data-bind="text: $data"></a>
        </li>
    <!-- /ko -->

</ul>

分页现在是一个在我的代码中不会更新的数组。请帮我看看我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用类似的计算:

var ViewModel = function() {
    this.currentPage = ko.observable(6);

    this.paging = ko.computed(function() {
        var currentPage = this.currentPage();

        return range(currentPage-5, currentPage+5,1);
    }, this);
};

fiddle没有多少

range代码来自此answer