TypeScript が提供する優れたタイプ セーフ機能を使用して、新しい種類の問題に直面しています。強く型付けされたビュー モデルを渡したいとします。これらをプリミティブ プロパティまたは KO ラップ プロパティで入力する方が良いですか? 両方をサポートする標準インターフェースを作成する方法はありますか? のように
interface IPerson {
FirstName: String;
}
class Person implements IPerson {
FirstName: String;
}
class KOPerson implements IPerson {
FirstName: KnockoutObservableString;
}
明らかに、上記はコンパイルされません。ビューモデルのラップされていないバージョンまたは KO ラップされたバージョンを同じ共有インターフェイスを介して渡すことができる、ある種のポリモーフィズムを達成する方法はありますか? どこでも「任意」の入力に戻らずに?ノックアウト認識をすべてのビュー モデル タイプに組み込むのは嫌いです。この一連の質問が理にかなっていることを願っています!