ItemView和View在牵线木偶之间的区别是什么?

时间:2017-03-12 16:56:48

标签: backbone.js marionette

  

版本2.x有许多不同类型的视图:View,ItemView,   LayoutView,CollectionView,CompositeView。

     

在版本3 ItemView中,LayoutView被“合并”到View中,并且   不推荐使用CompositeView以便在v4中删除。现在我们只有View   和CollectionView。

在木偶2中ItemView和View之间有什么区别?

如果我在Marionette 3的代码中将所有ItemView替换为View?我怎么会遇到问题?

1 个答案:

答案 0 :(得分:2)

  

在木偶2中,ItemView和View之间有什么区别?


好的,在旧版Marionette中,我们使用特定的类名创建了所选的实例视图。
所以。如果你想创建 itemView ,你应该使用 ItemView 类,或者如果你想要布局视图实例,你可以使用 LayoutView类 。每个视图类都继承自基本的视图类,因此每个视图都有共同的属性,但不是全部。·
因此ItemView是View的一个特例。在M2中,不建议使用View类

直接创建视图的实例

在Marionette 3中,您不必指出特定的课程,因为查看课程 是一个更详细的。根据定义的属性,您的视图可以是itemView或layoutView

var view = new Marionette.View({ template: "#some-template"});

//So we can say that is a normal itemView
var layoutView = new Marionette.View({ 
  template: "#some-template",
  regions: {
    menu: "#menu",
    content: "#content"
  });

//So we can say that now is a layoutView, because we defined a regions.

当然,CollectionView拥有与之前版本相同的类。

  

如果我在Marionette 3的代码中将所有ItemView替换为View?我怎么会遇到问题?

不,在这种情况下,你不应该有任何问题。