2

ネストされた値で機能するための knockout.js マッピング オプションを取得できません。次のコードでは、最初のレベルの「shouldBeCopied」は正常に機能し、ネストされた「shouldBeCopied」の値は常に監視可能です。

var data = {
    shouldBeCopied: "copied",
    nested: {
        shouldBeCopied : "copied"
    }
};

var vm = ko.mapping.fromJS(data, {
    'copy': ["shouldBeCopied"],
    "nested": {
        'copy': ["shouldBeCopied"]
    }
});

console.log(vm);

何か案は?

誰かがそれをいじりたいなら、ここにフィドルがあります。

4

1 に答える 1

3

copyignore、などのオプションを使用するobserve場合、マッピング オプションでオブジェクト構造を細かく設定する必要はありません ( を使用する場合などcreate) 。

必要なのは"nested.shouldBeCopied"、配列でプロパティ アクセサー式 ( )を使用して、copyネストされたプロパティを構成することです。

var data = {
    shouldBeCopied: "copied",
    nested: {
        shouldBeCopied : "copied"
    }
};

var vm = ko.mapping.fromJS(data, {
    'copy': ["shouldBeCopied","nested.shouldBeCopied"]
});

出力します:

ここに画像の説明を入力

JSFiddleのデモ。

于 2013-09-01T05:42:38.537 に答える