Cod*_*ain 8 backbone.js marionette
我正在使用Marionette区域经理来管理我的观点.有三个主要区域:1]顶层菜单区域2]侧栏区域3]主区域(不断变化的实际页面)
根据顶部菜单和侧边栏上的操作,我不断更改使用主区域中呈现的视图App.MainRegion.show(view).
现在有一个特定的视图(persistView),除非选项卡/浏览器关闭,否则应该不会关闭它.
当然,我不能在App.MainRegion.show(view)这里使用以下内容:
show(persistView)第一次调用时一切都很好.show(otherview)会打电话close()的persistView.这不是必需的.我目前的解决方案是:
persistRegion在下面有一个叫做新区域mainRegion.persistView将永远呈现在persistRegion.onShow()的persistView,我隐藏mainRegion和显示peristRegion上述作品,但我认为是非常hackish.此外,我在第3步之后卡住用户导航到任何其他视图.现在我该告诉persistView它应该隐藏自己并显示出来mainRegion?
任何帮助将受到高度赞赏.
Der*_*ley 26
我认为你的布局听起来不错,就像拥有一个区域来保持"持久"视图与主视图一样.但我不会让这两个地区相互了解或试图控制彼此的显示.相反,我会创建一个知道如何执行此操作的单独对象.
该对象负责从所涉及的各种视图和区域中收听正确的事件.然后它将确定要显示和隐藏的区域.
关键在于如何显示和隐藏区域.您不希望关闭区域并删除其中的视图 - 至少不是persistRegion.但是,你可以做的是hide()该地区的el
persistRegion.$el.hide()
和
persistRegion.$el.show()
在区域$el内显示视图或调用后,区域的属性将可用region.ensureElement().
| 归档时间: | 
 | 
| 查看次数: | 11909 次 | 
| 最近记录: |