我有一个案例,我想为模块化表单创建一个可重用的指令,其中有一个主表单指令旨在与字段输入指令的某种组合一起使用。像这样的东西:
<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
范围 (1) 将具有从表单收集和发布数据的功能,但它需要访问绑定到范围 (3) 和 (4) 中的表单元素的数据。
这甚至可能吗?
由于首选方法是将模式存储在范围 (2) 中,因此我需要将字段绑定到不同的变量名称,但似乎我无法使用指令的属性在 ng-model 上进行插值。 编辑:似乎我可以在编译函数中手动执行此操作?第二次编辑:一旦这个错误被修复。
此外,表单提交功能无法直接访问范围 (2) 中的数据。您可以使用 $$nextSibling,但显然这是不好的做法。
有没有办法让范围(3)和(4)直接从范围(1)继承?