В Backbone.js есть несколько разных мест, куда я помещаю помощников вида:
Если помощник относится к определенному представлению, поместите его правильно в определение представления:
var MyView = Backbone.View.extend({
tagName: 'div',
events: {
...
},
initialize: function() { ... },
helperOne: function() {
// Helper code
},
anotherHelper: function() {
// Helper code
},
render: function() {
... this.helperOne() ...
}
});
Если помощник будет использоваться всеми представлениями, расширьте класс Backbone View, чтобы все представления наследовали эту функцию:
_.extend(Backbone.View.prototype, {
helper: function() {
// Helper code
}
}
Если вам нужно более сложное совместное использование помощников между представлениями, пусть представления расширяют друг друга:
var MyOtherView = MyView.extend({
// ...
render: function() {
... this.helperOne() ...
}
});
Я не уверен, что является лучшей практикой (или есть ли признанная лучшая практика), но эти шаблоны кажутся довольно чистыми и работают хорошо.