编程语言
首页 > 编程语言> > javascript – Backbone Marionette Views结构

javascript – Backbone Marionette Views结构

作者:互联网

我有一个基于Backbone的应用程序.由于它变得越来越复杂,我正在评估向Marionette的迁移,但我不确定如何构建我的观点.

现有的应用程序视图以这种方式构建:

BaseView = Backbone.View.extend({ ... }) 

BaseView是所有视图的根.它基本上具有渲染功能,基本功能包括:模板渲染,页面定位,活动菜单选择等

ListView = BaseView.extend({ ... }) 

这里render方法包含所有列表的公共代码,如加载和使用DataTables插件,edititem的常见事件,additem,deleteitem等

FormView = BaseView.extend({ ... }) 

它使用Backbone.ModelBinder插件管理通用表单并处理表单验证.

我的所有应用程序视图都从上面的一个扩展,以提高代码的可重用性.例如,我有一个从FormView扩展的AccountFormView,我只有特定的逻辑(几行代码)来处理帐户信息.所有常见逻辑都是从父母的观点继承而来的.

如何使用木偶视图获得类似的东西?

谢谢,
法布里奇奥

解决方法:

设置Marionette的视图以处理最常见的情况,并删除所有样板代码以解决这些常见问题:

>视图:可用于构建其他视图的基本视图
> ItemView:使用模板渲染单个模型
> CollectionView:使用指定的itemView渲染集合中的每个模型
> CompositeView:将模板渲染为集合视图的包装器.支持嵌套/层次结构

在您的情况下,听起来您将使用这些视图类型的组合,具体取决于您所处的特定方案.但是,您可以选择一个视图类型来始终扩展.对当前场景最有意义并从中扩展.

如果您正在寻找一种方法将自己的自定义功能添加到所有视图中,这也非常简单 – 只需将该功能添加到基本Marionette.View或Backbone.View中,它就可用于所有Marionette视图.

请务必查看文档和代码(它分为许多小文件,因此易于阅读和理解),以了解Marionete为您提供的方法,以及它提供的扩展点.

希望有所帮助.

标签:javascript,oop,backbone-js,marionette
来源: https://codeday.me/bug/20190625/1287785.html