我是这个世界的新手,我需要了解 Backbone 和 Marionette 的一些概念。在这里,我试图解释我正在学习的一些概念。对他们有一些反馈会很棒。
该render
函数定义了渲染模板的逻辑。完成后,将onRender
调用回调。在这里,我假设渲染的视图尚未附加到 DOM。它由包含我附加到它的模板的tagName
(默认为)组成。div
要将该标记显式插入 DOM,我需要将其附加到某处。我错了吗?
一般来说,我会执行以下操作。
var view = new MyView();
view.render();
$("container").append(view.$el);
Marionette 用区域的概念扩展了 Backbone。可以在区域上调用该show
方法以呈现特定视图。
var view = new MyView();
region.show(view);
在这种情况下,show
方法将自己调用render
函数,最后,当视图的内容将放入 DOM 时,onShow
在该视图上调用 。可以吗?
在 Marionette doc 中,还有另一个名为onDomRefresh
. 从我的实验中,我注意到这个方法之前被调用过onShow
。所以,我的假设是该视图尚未附加到 DOM。但是医生说以下。
在视图渲染后触发,已通过 Marionette.Region 显示在 DOM 中,并已重新渲染。
你能给出一些提示吗?
提前致谢。