2012-04-24 10 views
18

JavaScript MVC frameworksは、Handlebars.jsで動作し、モデル/コントローラとテンプレートの間にデータバインディングを提供しています。現在、Handlebars.jsを単独で実装しています(jQuery)。メインコードとテンプレートの間でデータをバインドして、後者が自動的に更新されるようにする必要があります。ハンドルバーやプラグインでそれを行うネイティブな方法はありますか? これらのMVCフレームワークには、この機能をもたらすコンポーネントがあり、フルスタックフレームワークなしでスタンドアロンで使用できますか?Handlebars.jsテンプレートのデータを自動値更新のためにバインドする方法は?

+0

これはHandlebars http://handlebarsjs.com/のフロントページにあります。 – MilkyWayJoe

+4

私はそれを読んでいます。値が変わったときにテンプレートが自動的にどのように更新されるのかを教えてください。 –

+0

すみません。私はあなたのデータをHandlebarsのテンプレートにバインドする方法を尋ねていると思いました。 MVCフレームワークのように、オブザーバブルをコードに追加する必要があります。完全なフレームワークの実装を望んでいない場合は、このhttp://www.codeproject.com/Articles/13914/Observer-Design-Pattern-Using-JavaScriptを試してください。非常に小さなコードで独自に作成することができます(良いとは限りません) – MilkyWayJoe

答えて

11

リベット:https://github.com/mikeric/rivetsをご覧ください。私は、双方向の更新のためにバックボーン、ハンドルバー、バックボーン・モデリングを使用しています。よく働く。

Backbone.modelbinding(https://github.com/derickbailey/backbone.modelbinding)は放棄されましたが、リベットを指します。

+2

Rivets.jsは私が探していたものですが、データバインディングを統合したAngularJSで作業しているので現在は必要ありませんが、存在することを知っておくと良いです。 –

+1

私はそれが古い投稿だと知っていますが、正しい場合、ハンドルバーはリベットのテンプレートエンジンとして使用できません。私はそれを見て、リベツは独自のテンプレートパーサーを持っています。 –

+0

ハンドルバーでリベットを使用する方法を説明できますか?彼らは私が言うことができる限り、箱から一緒に働くだけではありません。 – styfle

0

Backbone viewを使用して、ハンドルバーテンプレートをレンダリングし、ビュー内の要素のjQueryイベントをリッスンしたいと思うように思えます。フレームワークのモデル、コレクション、またはルーターを使わなくても、バックボーンビューを使うことができますが、フルバックボーンライブラリ(6.3kb、Packed and gzipped)とアンダースコアを含める必要があります。考慮。