1

ノックアウトをいじり始めたばかりで、質問があります。コードの一部を次に示します。

function Task(data) {
    var self = this;
    self.name = ko.observable(data.name);
}

function ViewModel() {
    self.taskArr = ko.observableArray([
    // some default data
    new Task({ name: "to-do 1"}),
    new Task({ name: "to-do 2"}),
    new Task({ name: "to-do 3"})
]);

基本的に、オブジェクトの内容を 経由で表示しようとしていますconsole.log()。しかし、私が使用すると、結果としてconsole.log(self.taskArr());得られます。[Task, Task, Task]

を使用self.taskArr()[0].nameすると、すべてではなく、最初の結果のみが取得されます。

4

2 に答える 2

2

観測可能な配列のデータを表示するには、次のように ko.toJSON 関数を使用する必要があります。

console.log(ko.toJSON(self.taskArr()));

出力は次のとおりです。

[{"name":"to-do 1"},{"name":"to-do 2"},{"name":"to-do 3"}] 

詳細はこちら: http://knockoutjs.com/documentation/json-data.html

于 2012-12-07T17:02:59.677 に答える
1

Task オブジェクトを JSON 文字列に変換してみてください。

    console.log(JSON.stringify(self.taskArr()));
于 2012-12-07T01:39:50.083 に答える