私は KnockoutJs を使用していますが、その素晴らしい機能が 1 つ必要なのですが、それがわかりません。
- JSON データを返す get リクエストを行います。Knockout ViewModel と同じプロパティです。
- マッピング プラグインを使用して、JSON の結果を Knockout ビューモデルに変換します。
それは正常に動作しますが、もちろん、ノックアウト ビューモデルで定義されたメソッドを失います。
マッピングを使用してメソッドを保持できるようにするにはどうすればよいですか?
どうもありがとうございました!
アップデート
これは単なるサンプルです。構文エラーがあるかもしれませんが、私がやろうとしていることを示すはずです。
マイ JavaScript
var MyViewModel = function () {
var self = this;
self.id = ko.observable();
self.subModels = ko.observableArray();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
var MySubViewModel = function () {
var self = this;
self.id = ko.observable();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
私の c# モデル
public class MyViewModel
{
public int Id { get; set; }
public List<MySubViewModel> SubModels { get; set; }
}
public class MySubViewModel
{
public int Id { get; set; }
}
私のサーバーの結果
return new MyViewModel
{
Id = 1,
SubModels = new List<MySubViewModel>
{
new MySubViewModel { Id = 1 },
new MySubViewModel { Id = 2 }
}
};