У меня есть случай, когда я хочу создать директиву многократного использования для модульных форм, где есть основная директива формы, которая предназначена для использования с некоторой комбинацией директив ввода поля. Что-то вроде этого:AngularJS - Transcluded scope с дочерними областями
<form-container submit-path="/path/to/api/">
<input-field label="Foo"></input-field>
<select-field label="Bar"></select-field>
</form-container>
Я хотел бы использовать изолят объем на форм-контейнера, и это также необходимо будет создать возможности для включены через поля, но я не уверен, что использовать для полей. Я предвижу иерархию области видимости, что-то вроде этого:
- (1) form-container isolate scope
- (2) form-container transcluded scope
- (3) input-field scope
- (4) select-field scope
Scope (1) будет иметь функцию, которая собирает и размещает данные из формы, но ему потребуется доступ к данным, который связан с формой элементов в областях (3) и (4).
Возможно ли это?
Поскольку предпочтительным способом было бы сохранить режим в области видимости (2), мне понадобятся поля для привязки к именам разных переменных:
, но это не похоже на то, что я могу интерполировать на ng-модели с помощью атрибут директивы.
Редактировать: Похоже, я могу сделать это вручную в функции компиляции? 2nd edit: один раз this bug фиксирован.
Кроме того, функция отправки формы не имеет прямого доступа к данным в области (2). Вы можете использовать $$ nextSibling, но, видимо, это bad practice.
Есть ли способ получить область (3) и (4) наследовать непосредственно из области (1)?