Handlebar テンプレートを別のファイルに入れて外部化するときに、Handlebar テンプレートをプリコンパイルする方法を知っています。最近、テンプレートを短くしてインラインで使用しています。たとえば、次のバックボーン ビューがあります。
var ChosenVehicle = Backbone.View.extend({
className: "car selection",
initialize: function(options) {
this.data = options.chosenData;
},
template: Handlebars.compile(
'<h4 class="number">01</h4>' +
'<img src="assets/img/cars/{{vehicleSlug}}.jpg" alt="{{vehicle}}">' +
'<p class="flush">' +
'<small class="text--center caps">' +
'{{vehicle}}' +
'</small>' +
'</p>'
),
render: function() {
var chosenCar = _.find(this.model.get("cars"), function(car) {
return car.id.toString() === this.data.vehicleId;
}, this);
this.$el.html(this.template(chosenCar));
return this;
}
});
上記を使用し、テンプレートをプリコンパイルしない場合のパフォーマンスへの影響は何ですか? 読みやすく、維持しやすいので、上記のテンプレートをセットアップすることを好みます。明らかに、テンプレートをプリコンパイルできませんか、それとも別の解決策がありますか?
ありがとう
タイロン