MustacheまたはHandlebarsテンプレートとHAMLを混在させることをお勧めします。はいの場合は、どのようなメリットとデメリットになりますか。なぜ私はこれを求めているのですか?私はテンプレートを混合しているブログラマーを見ました。ありがとう。Mustache/Handlebars TemplatingとHAMLを混在させるのは良い考えですか?
4
A
答えて
3
私は問題なくHAMLでひげそりテンプレートを生成しています。
私のHAMLはちょっと次のようになります。
.template.shop
.foreground
.header
.header-logo
.shop-description
.table-frame
%a.close-button{:href=>"#"} Close
%table
%tr
%td.shop-images
%td.shop-details
%p.popup-headline.fix-width
{{addr_name}}
%p
{{addr_street}} {{addr_number}}
%br/
{{addr_zip}} {{addr_city}}
/{{#hasSchedule}}
%p.popup-headline
\Öffnungszeiten
%table.shop-schedule
/{{#sched_mo}}
%tr
%td Mo:
%td {{sched_mo}}
/{{/sched_mo}}
... Rest of Table omitted
これは魔法のように動作します。クライアント上でjQueryを使用してページから抽出した、サーバー上でHTMLとしてレンダリングされます。私はテンプレートのHTMLを取り、口ひげを使ってレンダリングします。
このため、時々、口ひげタグが発生するには、に注意する必要があります。ブラウザの場合、それらは単なるテキストなので、たとえばテーブル行間では無効です。この場合、私の例のようにHTMLコメントに入れてください。
また、生成されたHTML/Mustacheをサーバー上でエスケープすることもできます。私はのに、簡単なスタイリングのためにHTMLの生成されたテンプレート部分を持たせたいと思っていたので、私の場合は実行できませんでした。
関連する問題
- 1. は、スコープと考えているスフィンクススコープを混在させる方法がありますか?
- 2. C++ - 既定のメンバ初期化子とメンバ初期化リストを混在させる - 悪い考えですか?
- 3. *これは良い考えですか?
- 4. RubyとHAMLを混ぜる
- 5. activerecordをモデルとして、これは良い考えですか?
- 6. ODataを使用することも良い考えですか?
- 7. sitemap.xmlをキャッシュするのは良い考えですか?
- 8. '='演算子をモーフィングと考える方が良いですか?
- 9. アイデンティティ列を持つことは良い考えではありませんか?
- 10. Googleスプレッドシートに$ .postするのは良い考えですか?
- 11. JavaScriptのネストされたリテラル、良い考えですか?
- 12. 依存性注入と工場パターンを混在させるのは良いですか?
- 13. ASP.NETページプロパティ良い考え方または悪い考え方
- 14. JavascriptによるクライアントサイドのUIレンダリングは良い考えですか?
- 15. 誤解された良い考え
- 16. Djangoのテンプレートタグ "with"を使うのは良い考えですか?
- 17. atimeとdiratimeをオフにするのは良い考えですか?
- 18. ユーザーごとにSqlCacheDependencyを使用するのは良い考えですか?
- 19. コマンドラインによるセキュリティ:それは良い考えですか? (PHP)
- 20. OOPと手続き型プログラミングをPythonに混在させること(あるいはプログラミングスタイルを混在させること)は大変ですか?
- 21. 高トランザクション応答のフルテキストインデックス作成は良い考えですか?
- 22. Androidサービスのスレッド、これは良い考えですか?
- 23. 各ユーザーのReactPHP httpサーバー、これは良い考えですか?
- 24. Python言語のUnicode名は良い考えですか?
- 25. iOS UIKitとCocos2dを混在させる
- 26. Golang:UDPサーバーとGinを混在させる
- 27. SQLite DBとGetSharedPreferences()を混在させる
- 28. Cとアセンブリファイルを混在させる
- 29. タイトルとタグを混在させるフォームフィールド
- 30. CommonJSとオーダーローダーを混在させる
ブラウザが認識できないタイプのスクリプトタグ、たとえばtype = "text/x-handlebars-template"に生成されたコードを置くと、ブラウザは "無効な" HTMLを混乱させません(たとえばテーブル行の間にあるタグ)、HTMLコメントに入れることを心配する必要はありません – tothemario
はい、これも機能します。また、(サーバー上で)文字列にレンダリングし、その文字列をどこかのJavascriptに入れることもできます。私の場合は、開発を容易にするために、これをDOMの一部にすることが明示的に求められていました。 – Jan
実際には、HAMLは無効なHTMLを生成しないことが賢明だから、うまくいくとは思わない。たとえば、それらをTRの周りに置くと、テキスト文字列が引き出され、テーブルの前に置かれます。私はこの記事を見つけ出すまでコメントハックについて知らなかった。それは完璧に機能するので、ありがとう。Jan。 – gtd