2012-11-26 4 views
34

AngularJSがフロントエンドのjsフレームワークとして使用されているかどうかを知る必要がありますが、テンプレートエンジン用にハンドルバーが別途必要ですか? ...私の見解では、テンプレートエンジンの機能はAngularJS自体を使って実現できます!AngularJSとハンドルバー - どちらも必須かどうか

答えて

88

あなたは正しいですが、ハンドルバーと角度は一緒にはかなり役に立たないでしょう。

ハンドルバーと角度は全く異なるものです。

ハンドルバーはテンプレートエンジンです。あなたは見事なtemplatey-stringを書き、JSONオブジェクトを与え、データからHTMLをレンダリングします。データバインディングはありません。更新はありません。一度だけのレンダリングです。

AngularJSはHTMLコンパイラとデータバインダです。 Angularは角テンプレートタグのHTMLを調べ、解釈/コンパイルし、指定されたコントローラスコープのデータの変更をHTMLに更新します。 AngularはHTML文字列を一度レンダリングするだけでなく、HTMLをコンパイルしてスコープにバインドし、そのスコープのデータが変更されたときに更新します。

Handlebars in one picture

AngularJS databinding/templating in one picture

AngularJS's HTML compiler in one article

AngularJS's whole overview/guide, so you can know how it actually works

+4

誰かがangularjs上でハンドルバーを使用することを選ぶでしょうか?おそらく、Webサイトでユーザーとのやりとりが必要ないとき?どのようなウェブサイトがその説明に合っていますか?ハンドルバーが便利な時には想像がつかない。 – Spencer

+0

ハンドルバーは角度スタイルのバインディングを持たない他のフレームワークでも使用されています...フレームワークを使用していないがHTMLを動的に構築してDOMに追加する必要がある場合に便利です。また、node.jsでサーバー側で使用でき、クライアントとサーバーの両方でレンダリングできるDerbyのようなフレームワーク(DerbyはHandlebarsの独自のカスタムバリアントを使用します)でも非常にうまく動作します。 –

+1

この "AngularJSデータバインディング/テンプレート化は、1つの画像で"は、knockout.jsと同じように見えます。 –

関連する問題