Marionette.View中UI元素的可用性

Fil*_*tny 14 user-interface binding view backbone.js marionette

我只想了解Backbone.Marionette关于UI元素的观点背后的决定.在现有DOM元素上实例化Marionette.View时,如下所示:

view = new Marionette.ItemView({
     el: "#element",
     ui : {
         whatever : "#whatever"
     }
});
Run Code Online (Sandbox Code Playgroud)

我能够访问view.$el里面的jquery选择器view.initialize,到目前为止一切顺利.但是,当我尝试访问时view.ui.whatever,我只能访问选择器,即字符串"#whatever"而不是实际的$("#whatever")jquery选择器.

这样做的原因是因为Marionette.View.bindUIElements()只是被召唤render而不是之前initialize.

我想知道你是否认为这种行为是逻辑的,为什么?

我只是在将视图附加到现有的情况下询问el,如果视图是使用模板创建的,我确实理解绑定的原因render().

Der*_*ley 26

将视图附加到现有元素是个例外.普通的视图生命周期涉及调用render,如果没有这样做,UI元素就无法绑定.

只需this.bindUIElements()initialize需要将视图附加到现有元素时调用方法即可.