API からデータを収集するコンポーネントがあります。 API から返されるデータは、詳細を含む配列です。配列内の値の 1 つはレンダリングされるコンポーネントのタイプであり、他のすべてのデータはコンポーネントに渡されます。 データベースから返された値に基づいて正しいコンポーネントをレンダリングしようとしていますが、残念ながら機能しません。 私は Vue を初めて使用しますが、vue2 では動作しますが、コンポジション API を使用して Vue 3 で動作することを願っています。
これは、置き換えたいコンポーネント コードです:
リーリーブラウザで表示すると、実際には次のように表示されますが、SelectInput コンポーネントを使用しません:
リーリーSelectInput はディレクトリのコンポーネントであり、:is
値をハードコードすると、次のように期待どおりに機能します。
リーリー
component コンポーネントを呼び出し、コンポーネントを交換します:
ああああ
コンポーネントのファイル名が問題のオブジェクトの型指定子と等しい場合は、それらを動的にインポートしてコード行を節約できます。
これにより、より多くの型を作成すると、このコンポーネントに触れる必要がなくなるため、スケーラビリティの向上にもつながります。
スクリプト設定
を使用していたため、コンポーネントに名前が付けられていなかったため、コンポーネント
コンポーネントはどのコンポーネントをレンダリングするかを認識できませんでした。そこで、コンポーネントとコンポーネントへの参照を含むオブジェクトを作成します。
表示したいコンポーネントを取得し、それを実際のコンポーネントにリンクする別の関数:
次に、テンプレート内で関数を呼び出し、正しいコンポーネントをレンダリングします。
完全な修正コード:
これが正しいアプローチであるかどうかはよくわかりませんが、正しいコンポーネントがレンダリングされるようになりました。