2

一般的な機能 (ページング、並べ替えなど) を使用して、リストを操作するための基本ノックアウト モデルがあります。

ListViewModel.js:

function ListViewModel() {
    var self = this;

    self.Items = ko.observableArray();
    // other props and methods
}

return ListViewModel;

ここで、このモデルを具象クラス UsersListViewModel に再利用 (継承) したいと思います。それを行うための最良の方法(ノックアウトを受け入れる)は何ですか?UsersListViewModel 内に ListViewModel を作成するか、新しいフィールドとメソッドで ListViewModel を拡張しますか?

今、UsersListViewModel 内に ListViewModel オブジェクトを作成しましたが、これは好きではありません。

ユーザーリストビューモデル:

 function UsersListViewModel(model) {
      var self = this;

      self.List = new ListViewModel();
      self.IsInitialized = ko.observable(false);
 }

 return UsersListViewModel;
4

1 に答える 1

3

以前は、このようなことをしなければならなかったときは、適用 ( http://jsfiddle.net/85TeD/1/ )を使用していました。

function UsersListViewModel() {
    var self = this;

    ListViewModel.apply(self);

    self.OtherProp = ko.observable("other");

}

完全な古典的な継承を実装したい場合は、これが始まりです: http://www.crockford.com/javascript/inheritance.html

于 2013-11-14T12:21:12.377 に答える