コンポーネントvsウィジェット


10

Magento 2でコンポーネントとウィジェットの違いは何ですか?たとえば、モーダルコンポーネントとモーダルウィジェットがありますが、どちらも同じように見えます。

成分

モーダルUIコンポーネントは、メインウィンドウの上部に開口する二次ウィンドウを実装します。モーダルウィジェットを使用します。

ウィジェット

Magentoのモーダルウィジェットのメインウィンドウの上部に開いた道具の二次ウィンドウ。

ウィジェットは、数行のJSで初期化できます。コンポーネントとしては、XMLの行数が多くてもウィジェットを使用します。では、なぜ誰もがXMLメソッドを使用するのでしょうか。

回答:


6

ウィジェットは、数行のJSで初期化できます。コンポーネントでは、XMLの行数が多くてもウィジェットを使用します。では、なぜ誰もがXMLメソッドを使用するのでしょうか。

開発者は、UIコンポーネントシステムを使用して、さまざまなRequireJSモジュールをKnockoutJSビューモデルコンストラクターとして(関連付けられた「リモート」Knockout.jsテンプレートとともに)パッケージ化し、MagentoページのHTMLソースでこれらのビューモデルを使用して、特別なKnockout.jsスコープバインディング。すべてのUIコンポーネントは、一連のサーバー側データにも関連付けられています。最終的な目標は、1つの巨大な乱雑なJavaScriptファイルではなく、エンドユーザーがシンプルな<uiCompnent name="foo"/>レイアウトXMLを含めることができる複雑なUI機能を作成することです。

したがって、モーダルウィジェットの方が使いやすいというのは正しいことです。ただし、複雑なUIコンポーネントを構築していて、その複雑なUIコンポーネントにモーダル機能を含めたい場合は、モーダルUIコンポーネントをプルインします。

少なくとも-それは状況/システムに対する私の現在の理解です。興味があれば、UIコンポーネントシリーズ(セルフリンク)のコンテキストを増やします。


モデルデータの例であるモーダルフォームコンポーネントに関連付けられたCRUDのタスクがある場合、モーダルウィジェットではなくモーダルコンポーネントを使用する必要があります。正しい ?しかし、実装するのは難しいようです
mrtuvn '22

回答をありがとうございます。@ alan-stormをリンクして、ぜひチェックしてみます。実装するのははるかに難しいように見えますが、大規模な作業の場合には、それはより理にかなっていると思います。私はそれをより多くの答えのためにそれを数日与えて、それを受け入れます。
ベン・クルーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.