これは、ノックアウト サイトで「目立たないように」することの長所と短所についての非常に優れた議論であることがわかりました。
伝統的に、私は Javascript をできるだけ目立たないようにすることを非常に支持しており、私の Knockout 式では、面倒な作業をビュー モデルの関数に移し、DOM をカプセル化するカスタム バインディングを作成することで、Javascript をできるだけ最小限に抑えて整理するようにしています。ロジック - しかし、賢明に使用する場合、宣言的アプローチ自体 (data-bind 属性を使用するデフォルトなど) が進むべき道であるという意見を固く信じています。
おそらくそれは、Knockout の紹介が、私が取り組んだ WPF アプリケーションの Web アプリケーション "ポート" であり、Knockout をうまく活用する方法を学ぶにつれて、私のサイトの Knockout バインディングが XAML の同等物に驚くほど近くなってきているためです。マークアップに注目して、ビューがどのように評価されるかに関する実際のビジネス ロジックを一目で確認できるのが大好きですファイル。
多くの手続き型 jQuery を利用して物事を接続する従来の MVC サイトのいくつかを再訪すると、マークアップはきちんと整理されていると思いますが、6 か月後にマークアップに戻っても、これらすべての jQuery で自分の意図が何であったかを理解するのは困難です。セレクター、コールバック、および DOM トラバーサル。必要な場合、つまり、バインディング ロジック自体が動的である状況があった場合にのみ、Knockout バインディング自体を動的に適用すると思います。
これは、あなたの質問の目立たない側面に対する私の 2 セントです。MVVM Javascript への移行の経験が、過去数か月にわたる私のようなものである場合、振り返ることはありません。