2012-01-24 7 views
1

アイテムのリストを表示するときにノックアウトを使用した例は、リスト全体を囲むHTML要素内にテンプレートを埋め込むのとは別の名前付きテンプレートを使用していますdiv、ulなど)。これはベストプラクティスまたは単なるスタイルのものと考えられていますか?私の質問は、テンプレートを再利用する必要がないことを前提としています。Knockout.jsでのテンプレートと内部コンテナ要素の使用

答えて

2

匿名テンプレート(要素の子要素)を使用できるようになったのは、ネイティブテンプレートエンジンを含むKnockout 2.0に追加されたばかりです。それは2011年12月にリリースされたので、あなたが遭遇する多くの例が、利用可能になる前に作成された可能性があります。

理由という名前のテンプレートがまだ価値があるいくつかの理由があります(あなたが述べたように)

  • あなたは
  • テンプレートを再利用することを可能にするには、あなたが(外部テンプレートでそれを行うには、いくつかの方法をプルすることができ、最高です:https://github.com/ifandelse/Knockout.js-External-Template-Engine)。
  • scriptタグの要素は、バインディングを適用する前にレンダリングされないため、最初に要素を非表示にし、バインディングが適用された後に表示することを心配する必要はありません。
  • 他のテンプレートエンジンを使用することができます(廃止予定のjQueryテンプレートプラグインのサポートが含まれています)。匿名テンプレートはネイティブテンプレートエンジンでのみ使用できます。

ページの主要セクションに名前付きテンプレートを使用し、メインテンプレート内の匿名テンプレートを使用してシンプルかつクリーンな状態に保つと便利だと思います。

実際、これは現時点では個人的な好みです。一般的に、匿名のテンプレートを読み書きする方が簡単です。

関連する問題