ОБНОВЛЕНО: я обновил JSBin, чтобы исправить проблему с индексами и создать формальные поля для каждого свойства, а не пытаться передать массив свойств в формальный шаблон. Это позволило бы мне определить пользовательские и специфичные для свойства валидаторы, если это необходимо. Я до сих пор не знаю, правильный ли это подход, поэтому некоторые рекомендации будут приветствоваться.
У меня есть структура модели, подобная следующей, в которой каждый объект может иметь разные числовые свойства:
[
{
prop1: boolean,
prop2: String,
...
properties: [
{
key: String,
value: String,
description: String
},
...
]
},
...
]
Должно быть довольно просто передать массив объектов в шаблон формального типа и выполнить итерацию по массиву свойств каждого объекта (правильно?). Я думаю, что сложная часть будет заключаться в том, чтобы проверить каждый элемент в массиве свойств с помощью отдельных валидаторов.
Любые мысли о том, как я могу это сделать? Ключи четко определены, поэтому теоретически я мог бы создать некоторый угловой сервис, который сопоставляет ключ с объектом validators
, но я не понимаю, как об этом сказать.
У меня есть рабочий JSbin здесь, который вроде как работает, но мне он кажется грязным.
Я хочу думать, что есть способ поместить ng-repeat
в шаблон оболочки, но, глядя на формальный код, не похоже, что он формально может обрабатывать несколько элементов <formly-transclude>
в оболочке - даже если он может обрабатывать несколько оболочек, поэтому, возможно, есть способ сделать это с несколькими обертками.