[英]Knockout Components: Pass child components as parameter to parent component
我們正在重構淘汰賽SPA。 改進之一是在可能的情況下使組件更通用。 例如,我們需要一個“多態” /通用<elements-widget>
來呈現元素列表。 取決於列表的類型,子組件的類型可能有所不同。
當前應用的示例 :
我們有一個“人員頁面”:
<persons-page>
<persons-widget> <persons-widget>
</persons-page>
“小部件”:
<div class="grid" data-bind="foreach: elements">
<person-widget params="element:$rawData"></persons-widget>
</div>
相反,我們想在“人員頁面”上使用通用組件
<elements-widget params="elements:elements, elemComponent:'person-widget'">
</elements-widget>
通用組件的模板應如下所示:
<div class="grid" data-bind="foreach: elements">
<elemComponent> params="element:$rawData"></elemComponent>
</div>
其中elemComponent包含傳遞給elements-widget的參數。
非常感謝
您可以使用組件綁定來控制在此位置將渲染的確切組件:
<div data-bind='component: {
name: "shopping-cart",
params: { mode: "detailed-list", items: productsList }
}'></div>
在這種情況下,組件名稱“購物車”可以更改為當前上下文對象的屬性,例如elementType
包含要呈現的組件名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.