次のプレースホルダーがあるとします。
<div id="ph"></div>
そしてfrag.htmlファイルのこのHTML:
<div>
<h1>I am</h1>
<span>an HTML fragment</span>
</div>
jQuery 関数を内部に持つPrerenderedView
特別なメソッドでカスタムを定義しましょう。render
load
window.PrerenderedView = Backbone.View.extend({
render: function() {
this.$el.load(this.options.ajax_template_path, _.bind(this.onRender, this));
return this;
},
onRender: function() {
// do some stuff here, for example
var h1 = this.$('h1');
var text = this.model.get('some_value');
setTimeout(function() {
h1.text(text);
}, 2000);
}
});
のインスタンス化の時点でPrerenderedView
、オプションajax_template_path
(この場合は「frag.html」) を渡す必要があります。
$(function() {
new window.PrerenderedView({
el: $('#ph'),
model: new Backbone.Model({some_value: 'It was'}),
ajax_template_path: 'frag.html'
}).render();
});
そしてもちろん、サーバーなしで作業する場合は、Same Origin Policyを忘れません。たとえば、フラグ「--allow-file-access-from-files」を使用してクロムを開始できます。