Я разрабатываю веб-приложение с Resthub, поэтому на передней стороне есть стек backbone.js. Мне нужно вызывать метод каждый раз, когда отображается новое представление (а также всевозможные подпредставления), чтобы добавить некоторые специфические вещи Twitter-Bootstrap (помощь-всплывающие окна, вид быстрой справки, которые получают свои параметры из глобального файла json, поэтому тексты помощи легче поддерживать).
Насколько я знаю, нет встроенного в магистраль события, которое запускается каждый раз при отображении представления.
Итак, мой вопрос: как проще всего расширить все представления, чтобы они запускали событие при вызове метода рендеринга (неявно или явно). Я хочу расширить все свои представления, потому что я не хочу запускать это событие вручную во всех представлениях, которые у меня есть, потому что это подвержено ошибкам, и все разработчики должны помнить, что они должны запускать это событие.
render()
неявно? Тем не менее, AFAIK, вы не можете. Причина в том, что ваши представления переопределяютBackbone.View
. Что вы можете сделать, так это иметь ваш фактический код рендеринга в другом методе и исправить Backbone.View.render, чтобы вызвать этот метод и запустить событие. Таким образом, в вашем агрегаторе событий или в том, что вы используете для создания экземпляров представлений, вы все равно будете вызыватьrender
. Внутри представления будут вызывать_render
или как бы вы ни назвали метод и вызвать событие. Надеюсь, это имеет смысл… - person j03w   schedule 27.08.2013