ビューにノックアウト付きのビューモデルがあるASPNET mvcサイトがあります。ビューに渡されたモデルをビューのビューモデルにシリアライズしようとしています。
モデルは、標準の aspnet mvc のようなものに渡されます
@model Client.Controllers.TripDto
そして、KOマッピングを使用して作成されたノックアウトビューモデルは次のように行われます
var jsonModel = '@Html.Raw(JsonConvert.SerializeObject(this.Model))';
var mvcModel = ko.mapping.fromJSON(jsonModel);
var viewModel = new TripViewModel();
var mapping = {
'ignore': ["expenses"]
};
ko.mapping.fromJS(mvcModel, mapping, viewModel);
ko.applyBindings(viewModel);
KO「カスタム」ビューモデルにプロパティ費用があります。問題は、このプロパティが MVC モデルになく、後でデータを取得するプロパティにすぎないことです。しかし、これまでのところ、エラーなしでモデルをビューモデルに渡すことができませんでした
エラー: バインディングを解析できません。メッセージ: ReferenceError: 経費が定義されていません。バインディング値: foreach: 費用 [このエラーで中断]
return new Function("$context", "$element", functionBody);
本当に失敗したのがマッピングであるかどうかは少しわかりませんが、これまでのところ、他の可能性のあるエラーは確認できません。
問題は、マッピング元のモデルにすべてのプロパティが存在しない場合に KO マッピングを使用することは可能ですか?