我如何通过Knockout.JS observableArray获取?

Luk*_*ett 2 javascript knockout.js

所有迭代KO observableArray的尝试都失败了.流程就像数组为空一样跳过块.

它不是,因为它绑定到一些HTML和调试器显示7项.

我已经尝试了一个普通for的索引器,ECMA-5 + forEach以及现在KO自己的arrayForEach实用程序.

var EditorViewModel = function (firstDayOfWeek) {

    this.firstDayOfWeek = firstDayOfWeek;
    this.days = ko.observableArray([]); // Added in server-side generated view below.

    // Reads the activity data from each day and constructs and uploads models.
    this.save = function () {

        var basket = [];

        // Construct the upload activity models.

        ko.utils.arrayForEach(this.days(), function(d) {

            ... // never falls into this block.
Run Code Online (Sandbox Code Playgroud)

关于这一点在网上没有什么,所以我想这是一个不用脑子.我显然在某种程度上搞砸了它,但今天下午它让我不知所措.

this.days 阵列对我来说很好看.

调试器转储显示数组中的7个项目

谢谢,卢克

Pus*_*dav 5

这里的日子是一个observableArray,它只是一个函数,迭代你需要读取像days()这样的值,这会给你一个javascript数组.

var days = ko.observableArray([1,3,4,5,6]);

days().forEach(function(v,i){
  alert(v);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
Run Code Online (Sandbox Code Playgroud)