嵌套模板驱动形式的简单方法Angular

时间:2017-10-16 15:28:07

标签: javascript forms angular typescript jhipster

我在StackOverflow和GitHub中都经历过类似的问题,但解决方案的所有方法都附加到特定的案例中,而且我的目标并非如此,因为我有几个不同情况的应用程序 - 方案,理想情况下,我希望有可转移的代码(不是软件开发的最终目标吗?)

我有一个很深的嵌套(4级)

现在,我宁愿避免在这一点上学习所有关于ReactiveForms的内容,但我无法找到一种简单的方法来嵌套模板驱动

我们说我的表格如下:

<form class="container-fluid" name="editForm" #editForm="ngForm">

现在我有很多字段,带有双向绑定

现在我需要介绍我的第一级嵌套,我声明了这样的组件:

    @Component({
    selector: 'jhi-survey-data',
    templateUrl: 'surveyData.template.html',
})

导出类并将输入传送到控制器代码:

export class SurveyDataFormComponent implements OnInit {

    @Input() formDTO: FormDTO;
    @Input('surveyDataDTO') surveyDataDTO: any;
    @Input('i') i: number;

我将它附加到DOM,如:

<div *ngFor="let surveyDataDTO of formDTO.surveyDataDTOs; let i=index;">
            <jhi-survey-data
                [formDTO]="formDTO"
                [surveyDataDTO]="surveyDataDTO"
                [i]="i">
            </jhi-survey-data>
            </br></br>
        </div>

这里的问题是,当我尝试保存更改时,它们会为顶部组件上的任何更改保存正常,但在第二个组件中根本不会。

我已经尝试过共享服务,在保存并尝试获取数据时从那里访问组件,但是它返回未定义,我想是&#34;连接&#34; (没有更好的方法来描述它)组件中的对象对主组件外的任何访问都是封闭的

我已经尝试将<jhi-survey_data>中的ngModelGroup分组并得到完全相同的结果

我想这里的问题是,实际上是否存在一种简单的方法来嵌套模板驱动的表单,或者这会成为一个痛苦的根源,直到Angular团队决定我们是否足够不愿意学习ReactiveForms ?

我真的不想使用变通办法或样板代码

0 个答案:

没有答案