我只是想了解 Backbone.Marionette 关于 UI 元素的观点背后的决定。
在现有 DOM 元素上实例化 Marionette.View 时,如下所示:
view = new Marionette.ItemView({
el: "#element",
ui : {
whatever : "#whatever"
}
});
我能够访问view.$el
,里面的jquery选择器view.initialize
, 到目前为止,一切都很好。
但是,当我尝试访问时view.ui.whatever
,我只能访问选择器,即字符串“#whatever”而不是实际的$("#whatever")
jquery选择器。
这样做的原因是因为Marionette.View.bindUIElements()
仅被调用render
而不是之前initialize
.
我想知道您是否认为这种行为符合逻辑,为什么?
我只是在将视图附加到现有的情况下询问el
,如果视图是使用模板创建的,我确实理解为什么绑定位于render()
.
将视图附加到现有元素是例外。正常的视图生命周期涉及调用render
,如果不这样做,UI 元素就无法绑定到任何内容。
只需致电this.bindUIElements()
在你的initialize
当您需要将视图附加到现有元素时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)