正在尝试动态更新生成的angular6 json模式表单

正在尝试动态更新生成的angular6 json模式表单,angular,angular6-json-schema-form,Angular,Angular6 Json Schema Form,我试图使用angular6 json模式表单在Angular8应用程序中显示不同的表单 我已经创建了一个FormTemplate模型,它保存了需要显示的表单的一些属性,并使这个对象成为可观察的对象,还通过带有符号的共享服务使其可用 @Injectable({ providedIn: 'root' }) 在我的不同组件中,我观察这个对象,事实上,每次我对对象进行更改时,我都会通过next()方法接收通知 在我的一个组件中,我使用json模式表单选择器来显示表单,同时确保对模式、布局和数据

我试图使用angular6 json模式表单在Angular8应用程序中显示不同的表单

我已经创建了一个FormTemplate模型,它保存了需要显示的表单的一些属性,并使这个对象成为可观察的对象,还通过带有符号的共享服务使其可用

@Injectable({
    providedIn: 'root'
})
在我的不同组件中,我观察这个对象,事实上,每次我对对象进行更改时,我都会通过next()方法接收通知

在我的一个组件中,我使用json模式表单选择器来显示表单,同时确保对模式、布局和数据使用属性绑定,如下所示:

<json-schema-form
loadExternalAssets="true"
[schema]="currentSchema"
[layout]="currentLayout"
[(data)]="currentData"
[debug]="true" 
language="fr"
framework="material-design"
(onChanges)="onJsonSchemaFormChange($event)"
(onSubmit)="onJsonSchemaFormSubmit($event)"
(isValid)="isValidJsonSchemaForm($event)"
(validationErrors)="jsonSchemaFormValidationErrors($event)"
(formSchema)="showJsonSchemaFormSchema($event)"
(formLayout)="showJsonSchemaFormLayout($event)"
>
</json-schema-form>
我真的需要这样做,因为我真正的目标是显示一个表单,让用户使用下拉菜单在这个表单和第二个表单之间切换。我希望每次更改模式、布局或数据时都能动态修改表单

有人能帮忙吗


谢谢

事实证明,这与angular6 json模式形式无关。我用一个显示对象内字符串属性插值的跨度尝试了同样的方法,但在next()方法中更改值也不起作用


经过多次尝试,我发现我订阅观察器的方式(调用subscribe并传递“this”,同时确保我在类的其他地方定义next()和error()方法,从而满足PartialObserver接口)使得即使ngZone告诉我在next()中执行的代码方法发生在角度区域,变化检测未发生。通过在订阅时内联定义next()方法,我的问题消失了。

添加到接受的答案中。我有一个类似的目标和一个类似的问题,我尝试了多种方法,但我使用[(模型)]而不是[(数据)]来绑定我的表单值,我在这里注意到您使用[(数据)],所以我决定尝试,它不起作用,但我尝试了单向绑定,所以[数据]非常有效

next(myFormTemplate: FormTemplate) {

    //This shows the values before the change, exactly as they appear on screen on the generated form
    console.log('BEFORE');
    console.log(this.currentData);

    this.currentData = {
        first_name: 'new',
        last_name: 'very new'
    };

    //This shows the updated values after the change, even though it's not updated on screen on the generated form
    console.log('AFTER');
    console.log(this.currentData);
}