ラベル名 age のテキスト ボックスを追加し、backbone.js を使用してテンプレートで表示するにはどうすればよいですか?
<label> Age</label>
<input type = "text" name = "age" value="12"/>
これを属性としてモデルに追加し、テンプレートで表示したいと考えています。誰でも助けることができますか?backbone.js の基本を知っています。
ラベル名 age のテキスト ボックスを追加し、backbone.js を使用してテンプレートで表示するにはどうすればよいですか?
<label> Age</label>
<input type = "text" name = "age" value="12"/>
これを属性としてモデルに追加し、テンプレートで表示したいと考えています。誰でも助けることができますか?backbone.js の基本を知っています。
テンプレートはBackboneに組み込まれていません。つまり、最初にテンプレートシステムを選択する必要があります。そこには多くの良いオプションがありますが、個人的にはハンドルバーが好きです。Mustache、(非常にミニマリストの)Underscoreテンプレート関数、複数のjQueryプラグインなどから選択することもできます。
ライブラリを選択したら、通常、ライブラリを使用してテンプレート関数をビルド/コンパイルし、HTMLを生成します。簡単なハンドルバーの例を次に示します。
var template = Handlebars.compile('<span>Hello {{target}}</span>');
これは(オプションで)ビューコードの一部として実行できます。
var MyView = Backbone.View.extend({
template: Handlebars.compile('<span>Hello {{target}}</span>')
});
そのテンプレート関数を取得したら、通常、それに値マップを渡します。
var resultText = template({target: 'World!'});
レンダリングされた結果を取得します。
resultText == '<span>Hello World!</span>';
これをBackboneに自由に適合させることができますが、一般的なパターンの1つは次のようなものです。
var MyView = Backbone.View.extend({
template: Handlebars.compile('<span>Hello {{target}}</span>'),
render: function() {
var valueMap = this.model.toJSON();
this.$el.html(this.template(valueMap));
}
});
// Usage:
new MyView({
el: '#someElement',
model: new Backbone.Model({target: 'World!'}
)).render();