10

Person、というプロパティを持つfirstNameバックボーンモデルがある場合lastName。通常、それへのアクセスはとのようperson.get('firstName')ですperson.get('lastName')

personコンテキストに公開されているハンドルバーテンプレートで同様のことを行うにはどうすればよいですか。

4

2 に答える 2

21

ハンドルバーテンプレートをレンダリングするときは、モデルの属性を渡す必要があります。Model.toJSONこれを行うための推奨される方法は、モデルの内部attributesハッシュのコピーを返すを呼び出すことです。

var template = Handlebars.compile(templateHtml);
var rendered = template({ person: model.toJSON() });

テンプレートでは、プロパティ名でコンテキストにアクセスできます。

<span>{{person.firstName}} {{person.lastName}}</span>
于 2013-01-05T09:16:14.167 に答える
6

実際、私は.toJSONを使用する場所が非常に多いので、バックボーンモデルを処理するためのハンドルバーの変更を開発しました。

https://gist.github.com/4710958

値がBackbone.Modelのインスタンスであるかどうかを確認し、そうである場合は.get()メソッドを呼び出します。

Backbone.Modelを使用するには、グローバルである必要があります。

{{ user.address.street }}

次のように解析されます:

user.get("adress").street
于 2013-02-05T00:22:35.737 に答える