DOM 传入 CompositeView 时 ItemView 的位置 - Marionette

DOM location of ItemView when passed in CompositeView - Marionette

我有一个 ItemView 这样的:

var Userview= Marionette.ItemView.extend({
        template: "#user1",
        el: "#imp1"    
});

问题:这是否意味着 ItemView 的模板:#user1 将进入(例如)div 和 id=imp1 DOM,什么时候渲染?

(如果没有,那我想我可以在DOM中的某个div中使用区域来渲染Userview,这样就可以了!)

现在,在渲染 CompositeView 的情况下,我将 Region1.show() 用于 CompositeView。在这种情况下,我如何在 DOM 中的特定位置(比如带有 id 的 div)呈现 CompositeView 的 (childView) ItemView

(因为我在 CompositeView 上调用 Region1.show() 而不是 ItemView,我不知道如何在 DOM 上的特定位置渲染 ItemView )

所以,诀窍是在 CompositeView 定义中定义一个 childViewContainer: "#some_id"。它将定义 (childView) itemView.

的位置 另外,在CompositeView里面使用itemView这个词会报错,我们需要使用
childView: child_view_name

如果 ItemView 是 CompositeView 子视图,那么您不能DOM 中的特定位置渲染它。 您只能在 CompositeView(childViewContainer)内部 的特定位置渲染,并且 CompositeView 将通过区域直接渲染到 DOM。

因此,如果要在 DOM 中的特定位置呈现 ItemView,则应仅使用 Region 和 ItemView,而不要使用 compositeView。

var myView = new MyView();
myRegion.show(myView);