Я использую BackboneJS вместе с RequireJS, и я хочу добавить диаграмму Epoch к представлению.BackboneJS. Как добавить диаграмму эпохи в представление, когда изображение загрузилось
Что у меня есть:
Мой шаблон взгляд просто:
<h1>Charts</h1>
<div id="gaugeChart" class="epoch gauge-small"></div>
Мой маршрутизатор
showChart: function(){
$('#page-wrapper').html(new ChartsView().el);
}
Мой Посмотреть
/*global define*/
define([
'jquery',
'underscore',
'backbone',
'handlebars',
'd3',
'epoch',
'text!templates/Charts.html'
], function($, _, Backbone, Handlebars, d3, epoch, templateSource) {
var ChartsView = Backbone.View.extend({
template: Handlebars.compile(templateSource),
events: {
'click #gaugeChart': 'hasRendered'
},
initialize: function() {
this.render();
},
render: function() {
this.$el.append(this.template());
return this;
},
hasRendered: function() {
$('#gaugeChart').epoch({
type: 'time.gauge',
domain: [1, 100],
format: function(v) {
return v.toFixed(0);
},
value: 1
});
}
});
return ChartsView;
});
По мнению Backbone выше у меня есть событие click на th e #gaugeChart
, и этот подход работает, но как бы я инициировал событие загрузки таким образом, чтобы при загрузке представления я мог вызвать функцию JavaScript, чтобы добавить эпохальную диаграмму. Я попытался запустить функцию hasRendered
после завершения функции рендеринга, но это не сработало.
Второй подход так, что я сделал это в тот момент, но есть ли лучшие подходы я должен быть структурировании мой взгляд или маршрутизатор иначе? благодаря – harveytoro