2012-01-18 10 views
5

私の知る限り、テンプレートはロジックからのプレゼンテーションを分離するために使用されています。そして、ロジックに依存しないので再利用できます...多くの人がテンプレート作成のためにHandlebars.jsに行くように勧めました。 (私はこの名前を聞いて初めてです)。論理無しテンプレートとは

私が知りたいLogic-Lessテンプレートの意味は?

おかげ

注:私もこのWhat's the advantage of Logic-less template (such as mustache)?疑問を経てい..しかし、私は明確なアイデアを得るdidntの。

答えて

1

テンプレートライブラリの基本的なタスクは、「Hello、$ {name}」の名前を記入するような、静的なテンプレートに計算データを埋め込む仕組みを提供することです。しかし、多くのテンプレートライブラリでは、if-thenステートメント、ループ、任意コードの実行などの追加機能が提供されています。これは、ロジックレステンプレートが回避しようとするロジックです。

これは、ロジックなしのテンプレートライブラリは、データをテンプレートに埋め込む基本的な機能を提供するだけであることを意味します。

ロジックレステンプレートを使用する理由は、参照した質問に記載されているので、ここではそれらをリストしません。

+0

しかし、ハンドルバーjsにもif文がありますか?その後、どのように論理が少なくなったのか? – Jeevi

+1

http://handlebarsjs.com/はどこに論理がないと言いますか? –

+0

だから、論理的なテンプレートではないのですか?それでは、彼らはどのように口ひげに相容れますか? – Jeevi

0

"ハンドルバーは論理的でないテンプレートエンジンです。つまり、HTMLページにあるテンプレートにロジックがほとんどないことを意味します。ハンドルバーとテンプレートエンジンの最も重要な使用方法は、HTMLページシンプルでクリーンで、ロジックベースのJavaScriptファイルから切り離されているため、Handlebarsはこの目的を十分に果たしています。 from javascriptissexy.com 私は上記の引用文が元の質問に答えると思います!

3

テンプレート内でJavaScriptを実行できないため、ハンドルバーは論理的ではありません。 {{# if num==1}}を書くことはできません。代わりに、JS内でブール値を準備する必要があります。var numIsOne = num==1;、テンプレートには{{# if numIsOne }}が含まれている必要があります。これがロジックレスの意味です。