toggle class
戦略を使用しているときに問題が発生していることに驚いています。これが乱雑になる状況の具体例を挙げていただけますか? あなたのサイトのコードは問題ではないとおっしゃいましたが、それは何ですか? においがするビットはどこにありますか?
私がこれを言うのは、可視性の切り替えが実際には最も簡単なオプションであり、あなたがこれを考えすぎているように見えるからです. 私があなたのユースケースを誤解していない限り。また、この質問に対する「最良の」答えはありません。非常に状況依存です。
編集:
これは、直接回答するのが難しい高レベルの質問です。あなたの質問の要点は、「複雑なビュー ステートとインタラクションをどのように管理するか」です。動的/静的htmlの違いは実際には問題ではありません。サブビューのhtmlをどのように生成しても、概説した課題に直面しています。
そうは言っても、あなたはバックボーンを使用していると述べています。バックボーンは、ソリューションの構築を支援するための単なるツールであることを忘れないでください。
それでも、あなたのコメントでケースを実装していて、バックボーンの規則に固執したい場合は、はい、あなたが言ったようにします。「静的」ビューを「動的」ビューと同じように扱います。バックボーン ビューは html に関するものではなく、インタラクション コンテキストに関するものです。あなたが本当に気にかけているインタラクション コンテキストのように思えます。
したがってView
、ProductView
それ自体がTabContainerView
. これTabContainerView
には、などがTabViews
あります。重要なインタラクション状態のすべてのレベルについて、階層を下っていきます。その後、状態の追跡とビューの操作が容易になります。現在表示されているタブを追跡する必要がありますか? にプロパティを追加しますTabContainerView
。によってトリガーされたポップアップを非表示にする必要があります。メソッドをTabContainerView
に追加します。hide
TabContainerView
このようにして、ビュー階層は状態とイベント ハンドラーで豊富になります。さらに、ウィジェット方式で物事を開発し、コンポジションを使用して非常に洗練されたエクスペリエンスを構築できます。
それが役立つことを願っています。