0

ビューモデル全体を単一のオブジェクトで更新する方法はないかと思います。
たとえば、ビューモデルは次のようになります。

    Function ExampleViewModel(){
     this.name = ko.observable();
     this.lastname = ko.observable();
     this.phone = ko.observable();
    }
    var viewmodel = new ViewModel();
    ko.applyBindinings(viewmodel);

そして、次のようなオブジェクトを作成するとします。

    var newObject = {name: "newname", lastname: "lastname", phone: 432}

各オブザーバブルを個別に設定する代わりに、次のようにします。

        viewmodel.name(newObject.name);
             or
        viewmodel.name(newObject.name).lastname(newObject.lastname) etc etc

ビューモデル全体を次のように更新できますか?

        viewmodel.update(newObject)?
4

1 に答える 1

1

オブジェクトをループするだけです。

for (var key in newObject) {
    if (viewModel[key] && ko.isObservable(viewModel[key])) {
        viewModel[key](newObject[key]);
    }
}
于 2013-02-27T21:06:41.463 に答える