Я работаю с backbone.js, создавая сложные отношения вида, и мне интересно, есть ли какие-либо проблемы с точки зрения производительности javascript, чтобы сделать что-то похожее на это:
var viewOne = Backbone.View.extend({
tagName : 'li',
initialize : function() {
this.v2 = new viewTwo({parent:this});
},
clickHideOne : function() {
$(this.el).removeClass('selected');
}
});
var viewTwo = Backbone.View.extend({
tagName : 'a',
initialize : function() {
this.bind('click', this.clickHide, this);
},
clickHide(){
$(this.el).removeClass('selected');
this.options.parent.clickHideOne();
}
});
Если это очень простой пример круговой ссылки между двумя представлениями, чтобы события в одном представлении легко распространяли цепочку представлений или поддерживали любые ссылки на объекты в родительских представлениях. Существуют ли ситуации, когда это будет проблемой, особенно в отношении потенциальных утечек с ссылками на элементы DOM в IE7 +, или есть еще одна рекомендуемая передовая практика для ссылок на родительские представления.
Кроме того, я понимаю, что я мог бы просто сделать $(this.el).parent('li'). removeClass ('selected'); in viewTwo, это не точка... это просто очень простой пример вопроса о круговой ссылке.