Я просто хотел бы понять решения, стоящие за поддержкой Backbone.Marionette относительно элементов пользовательского интерфейса. При создании экземпляра Marionette.View на существующем элементе DOM, например:
view = new Marionette.ItemView({
el: "#element",
ui : {
whatever : "#whatever"
}
});
Я могу получить доступ к view.$el
, селектору jQuery внутри view.initialize
, настолько хорошему.
Однако, когда я пытаюсь получить доступ к view.ui.whatever
, у меня есть только доступ к селектору, то есть строка "#whatever" вместо фактического селектора jQuery $("#whatever")
.
Причиной этого является то, что Marionette.View.bindUIElements()
вызывается только на render
и не раньше initialize
.
Я хотел бы знать, считаете ли вы, что это поведение логично и почему?
Я только спрашиваю в случае присоединения представления к существующему el
, если представление создается с помощью шаблона, я понимаю, почему привязка находится в render()
.