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);
我有一个 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);