1

順を追って説明しましょう

  1. 私の機能はconsole.log()、モデルで観測可能なノックアウトで実行しています
  2. コンソールは言うArray(0)
  3. ただし、その時点で、array(0)アイテムが表示されていることをクリックします。したがって、配列にアイテムがないのは事実ではありません
  4. Console.log()と をクリックした瞬間の間にarray(0)observableArray()はアイテムでいっぱいになり、空ではなくなりました。

ここでの私の質問は、コンソールのこの機能は間違っていますか? 実際に項目を表示するか、単に空の配列を表示する必要があります。そもそもなぜこうなるのか?

または、逆に見てみると、50 個の項目がある場合にコンソールが更新されますarray(0)array(50)

そして、どうすればこの問題を克服できますか?それを扱うためのコードスニペット:

var myModel = function(){
    this.myArray = ko.observableArray();
}

var model = new myModel();
console.log(model.myArray());

model.myArray.push('item');
4

2 に答える 2

0

この問題については、データを別の変数に追加し、それを console.log() でログに記録することが役に立ちました。

例:

var myArray = [];

var logArray = myArray;
console.log(logArray);
于 2012-05-29T13:27:19.073 に答える
-1

私が正しく理解しているかどうかはわかりませんが、コンソールログには、電話をかけたときのアイテムのみが表示されます。したがって、アイテムをアレイにプッシュした後、別のコンソールログを作成すると、最新の変更が反映されます。監視可能であるからといって、コンソールログが自動的に更新されるわけではありません。

コンソールログを変更に「フック」するには、バインディング呼び出しでログを使用してカスタムバインディングを作成する必要があります。

于 2012-05-14T21:40:51.070 に答える