NativeScript/Angular-反应式表单不工作

NativeScript/Angular-反应式表单不工作,nativescript,angular2-nativescript,angular2-formbuilder,reactive-forms,Nativescript,Angular2 Nativescript,Angular2 Formbuilder,Reactive Forms,在组件中,我正在这样做: public loginForm: FormGroup = this.fb.group({ email: ['', Validators.required], password: ['', Validators.required] }); 然后在模板绑定表单中: <StackLayout orientation="vertical" [formGroup]="loginForm"> <TextField formControlName="

在组件中,我正在这样做:

public loginForm: FormGroup = this.fb.group({
  email: ['', Validators.required],
  password: ['', Validators.required]
});
然后在模板绑定表单中:

<StackLayout orientation="vertical" [formGroup]="loginForm">
  <TextField formControlName="email" hint="Email"></TextField>
  <TextField formControlName="password" hint="Password" secure="true"></TextField>
  <Button text="Log in" (tap)="login()"></Button>
</StackLayout>

但是,当我在运行
login
函数时记录
loginForm
值时,即使文本字段有值,它仍然是空的

我已经导入了
ReactiveFormsModule
NativeScriptFormsModule
,但都不起作用。如果我将
password
更改为任意随机名称,我也不会得到任何错误或任何东西。这就好像它甚至没有以任何方式连接到表单

我做错了什么?我使用的是nativescript cli 2.5+,这表明此代码应该可以正常工作

编辑:

我已经做了一些挖掘,似乎是延迟加载模块导致了这个问题以及其他问题。我在这里发表了一篇新文章:


如果有其他人遇到过同样的问题以及是否有解决方案,那就太好了。

因为您已经导入了NativeScript FormsModule,请在FormGroup之外声明一个新变量,并尝试将您的texfield构建为:


确保将
反应表单模块
本地脚本表单模块
导入实际组件的模块
导入
(Login.module.ts),而不仅仅是AppModule,否则它将无法工作


我这样做了,然后反应式表单立即工作。

我会,但是
FormBuilder
不使用ngModel,重新声明一堆表单控件没有意义。我做了一些挖掘,似乎是延迟加载导致了这些问题。我在这里发布了一个新问题: