1

更新: JSBinを更新して、インデックスの問題を修正し、プロパティ配列を正式なテンプレートに渡すのではなく、各プロパティの正式なフィールドを作成しました。これにより、必要に応じて、カスタムおよびプロパティ固有のバリデーターを定義できます。これが正しいアプローチであるかどうかはまだわかりませんが、いくつかのガイダンスを歓迎します。

各オブジェクトが異なる数のプロパティを持つことができる次のようなモデル構造があります。

[
  {
    prop1: boolean,
    prop2: String,
    ...
    properties: [
      {
        key: String,
        value: String,
        description: String
      },
      ...
    ]
  },
  ...
]

オブジェクトの配列を正式な型テンプレートに渡し、各オブジェクトのプロパティ配列を正式に反復処理するのは非常に簡単です (そうですか?)。トリッキーな部分は、プロパティ配列内の各項目を個別のバリデーターで検証したいことだと思います。

どうすればそれができるかについて何か考えはありますか?キーは明確に定義されているため、理論的には、キーをvalidatorsオブジェクトにマップする角度サービスを作成できますが、それについて形式的に伝える方法は明確ではありません。

ここには、ちょっとした/ちょっとした仕事をするJSbinがありますが、私には汚れているように感じます。

ラッパーテンプレートに配置する方法があると思いたいのですが、正式なコードを見ると、複数のラッパーを処理できるにもかかわらず、正式にラッパーで複数の要素をng-repeat処理できるようには見えないので、それを行う方法があるかもしれません<formly-transclude>複数のラッパーで。

4

1 に答える 1

2

実際(cssで解決できる/解決すべきいくつかのスタイリングの問題は別として)、あなたの実装は問題ないと思います。angular-formlyに渡す前に、モデルに基づいてフィールド構成を生成することにより、あなたがしていることを正確に行うことをお勧めします。

于 2015-07-17T18:50:23.653 に答える