0

Knockout SPA をリファクタリングしています。改善の 1 つは、コンポーネントを可能な限り汎用的にすることです。たとえば、<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に渡されるパラメータです

どうもありがとう

4

1 に答える 1