私は自分のウェブサイトで使用するいくつかのノックアウト モデルを持っています。特定のモデルについて、プロパティがあるとしましょう
function modelA {
this.doSomething = function () { ... };
}
今、別のモデルで doSomething() 関数を使用したいと考えています。doSomething() を必要とするすべてのモデルで doSomething() を書き直す義務がないように、これを行いたいと思います。理想的には、ko.applyBindings(new modelX()) が呼び出されるとすぐにこの関数が使用可能になるといいのですが。
関数をプロトタイプから継承できることはわかっていますが、それはすべてのモデルでコードの繰り返しにもつながります。このプロパティをすべてのモデル オブジェクトに挿入するように knockout.js を変更する方法はありますか?
編集:
私の希望する目標を達成する別のアプローチがある場合は、その目標について詳しく説明します。検証ルールで拡張されたモデル内のすべてのプロパティで isValid() を呼び出すことができるノックアウト検証.js を使用します。モデル内の他のプロパティを検査し、それらに対して isValid() を呼び出す関数をすべてのモデルに追加したいと考えています。そうすれば、モデルに明示的に追加することなく、すべてのモデルで使用できる汎用検証関数を作成できます。