この記事では、再利用可能なコンポーネントを使用して複雑なUIを構築するための強力な機能であるAureliaの視覚構成について説明します。 通常の些細なデモの代わりに、この機能を紹介するレポートビルダーアプリケーションを構築します。 ライブデモとソースコードが利用可能です(簡潔にするためにリンクが省略されています)。
重要な概念:
compose
eventaggregator:組成(異なるタイプのビューを組み合わせた)の間で異なります。 従来のルーティングはしばしばこれを処理しますが、Aureliaは
aureliaの要素を使用:compose
要素は、ビューモデルペアの埋め込みを簡素化します(「ページ」と呼ばれることが多いビューとビューモデル)。 属性を使用して、View-Modelのファイル名を指定します。 データは、属性を使用して渡すことができます。 View-Modelは、オプションでこのデータを受信するための
属性を使用して代替ビューを指定し、親ビューモデルのプロパティに基づいてビューを動的に選択するか、子どもビューモデル()内の関数を指定できます。
compose
プロジェクトのセットアップ:
レポートビルダーは、Aurelia Skeleton Navigation App(GitHub Linkが省略)に基づいています。 ルーターが削除されます。このアプリは、サブビューで構成される単一の複雑なビューを使用します。 インストール手順は、プロジェクトのreadmeで入手できます
レポートビュー構造:
はメインコンテナとして機能し、ビューを構成します。 app.html
レポートを印刷またはクリアするための利用可能なウィジェットとボタンを表示します。 各ウィジェット(例えば、toolbox
、report
)は、自己完結型コンポーネントです。 toolbox.html
ビューは、均質な組成と異種構成の両方を使用して、追加されたウィジェットを表示します。 レポートビューモデルの機能のlogo.html
関数ウィジェットの削除を処理します。
textblock.html
report.html
コンポーネント間通信:removeWidget
コンポーネント間のゆるい結合を促進します。 Toolboxのボタンは、「ClearReport」イベントを公開します。これは、レポートView-Modelがウィジェットをクリアするためにサブスクライブして使用するイベントです。
外部ライブラリとプラグイン:EventAggregator
clearReport
アニメーション:
ビューの
およびクラスは、CSSアニメーションと組み合わせて、構成とウィジェットの削除中に視覚的なフィードバックを作成します。 ドラッグアンドドロップ実装:
au-stagger
sortable.jsは、au-animate
と
view-modelのハンドラーは、レポートに新しいウィジェットを追加し、テキストブロックのテキスト入力を処理します。
結論:toolbox
report
Aureliaの視覚的構成とonAdd
およびプラグインシステムと組み合わされて、複雑なモジュラーUIを構築するための強力で柔軟なアプローチを提供します。 レポートビルダーの例は、これを効果的に示しています
report
以上がAurelia.ioの構成:レポートビルダーの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。