木偶onShow在rerender地区视图之后不射击

时间:2014-03-11 09:20:34

标签: backbone.js marionette

我有一个区域,我需要在渲染视图后执行一些代码。因此,我第一次拨打myRegion.show(myView) onShowmyView内的代码可以正常工作。

同一段代码无效onRenderinitialize。问题来了,在myView更改后,我致电this.render()以反映更改。这次,“onShow”没有开火。

我认为我可以从视图中触发事件,在父视图中捕获它并再次调用myRegion.show(myView)。但它看起来像一个棘手的解决方案,我不知道是否有更好的方法来管理这种情况。

1 个答案:

答案 0 :(得分:3)

将视图插入区域时,只会调用

onShow回调一次。

我认为你应该使用onDomRefresh。当视图显示在区域中并且在重新渲染时(但仅在已经显示时),Marionette会调用它。因此,您可以在其中制作所有与DOM相关的代码。

您可以在文档中阅读更多内容:https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#view-domrefresh--ondomrefresh-event