Data binding 使用[(ngModel)]时发生NativeScript错误

Data binding 使用[(ngModel)]时发生NativeScript错误,data-binding,nativescript,angular2-nativescript,nativescript-telerik-ui,Data Binding,Nativescript,Angular2 Nativescript,Nativescript Telerik Ui,我正在使用Nativescript启动一个应用程序,但我对这个框架还不太了解。我正在尝试创建一个页面来创建一个用户帐户,我有一个表单,您必须在其中写入您的电子邮件和密码。问题是我需要捕获用户编写的字符串,为此我使用[(ngModel)],但我有一个错误。我已在app.module.ts中导入了NativeScript FormsModule,这会导致我的错误 这是我的create.user.component.ts import { Component } from '@angular/core

我正在使用Nativescript启动一个应用程序,但我对这个框架还不太了解。我正在尝试创建一个页面来创建一个用户帐户,我有一个表单,您必须在其中写入您的电子邮件和密码。问题是我需要捕获用户编写的字符串,为此我使用[(ngModel)],但我有一个错误。我已在app.module.ts中导入了NativeScript FormsModule,这会导致我的错误

这是我的create.user.component.ts

import { Component } from '@angular/core';

import { RouterExtensions } from 'nativescript-angular/router';

import firebase = require('nativescript-plugin-firebase');

@Component({
    selector:'create-user',
    template:`
                <StackLayout>
                    <Label class="titulo" text="Create User"></Label>
                    <TextField hint="Email" keyboardType="text" [(ngModel)]="email"
                        autocorrect="false" autocapitalizationType="none"></TextField>
                    <TextField hint="Password" secure="true" [(ngModel)]="password"
                        autocorrect="false" autocapitalizationType="none"></TextField>
                    <Button class="submit-botton" (tap)="create()" text="Crear usuario"></Button>
                </StackLayout>
        `,
    styleUrls:['login/login.component.css']
})
export class CreateUserComponent{

    email:string;
    password:string;

    constructor(private routerExt: RouterExtensions ){}

        create(){
            firebase.createUser({
                email:this.email,
                password: this.password

            }).then(
                (result)=>{

                    this.routerExt.navigate(["/chatListado"],{
                        transition:{
                            name: "flip",
                            duration:500,
                            curve:"linear"
                        }
                    });
                    console.log("User Created");
                },
                (errorMessage)=>{
                    alert('error: ' + errorMessage);
                }
            );

        }
}
从'@angular/core'导入{Component};
从“nativescript/router”导入{RouterExtensions};
import firebase=require('nativescript-plugin-firebase');
@组成部分({
选择器:'create-user',
模板:`
`,
样式URL:['login/login.component.css']
})
导出类CreateUserComponent{
电子邮件:字符串;
密码:字符串;
构造函数(私有RouterText:RouterExtensions){}
创建(){
firebase.createUser({
电子邮件:this.email,
密码:这个是密码
}).那么(
(结果)=>{
this.routerExt.navigate([“/chatListado”]{
过渡:{
名称:“翻转”,
持续时间:500,
曲线:“线性”
}
});
console.log(“用户创建”);
},
(错误消息)=>{
警报(“错误:”+错误消息);
}
);
}
}
这是我启动应用程序时出现的错误:

JS:ERROR-ERROR:Uncaught(承诺中):ERROR:No-value访问器 具有未指定名称属性的表单控件JS:错误:无值 具有未指定名称属性JS:at的窗体控件的访问器 _投手(file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/形式/束/形式.umd.js:1838:11) [angular]JS:at setUpControl (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/形式/束/形式.umd.js:1751:9) [角度]JS:at NgModel.\u (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4320:9) [角度]JS:at NgModel.\u设置控制 (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4306:37) [angular]JS:at NgModel.ngOnChanges (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4237:18) [angular]JS:at checkAndUpdateDirectiveInline (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:10715:19) [angular]JS:at checkandUpdateNodeLine (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12097:17) [angular]JS:at checkAndUpdateNode (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12065:16) [angular]JS:at debugCheckAndUpdateNode (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12694:59) [angular]JS:at debugCheckDirectivesFn (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12635:13) [angular]JS:at Object.eval[作为updateDirectives] (ng:///AppModule/LoginComponent.ngfactory.js:363:5)[angular]js:at Object.debugUpdateDirectives[作为updateDirectives] (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12620:21) [angular]JS:at checkAndUpdateView (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12032:14) [angular]JS:at callViewAction (file:///data/data/com.Mystory.android/files/app/tns_modules/@角度/核心/束/核心.umd.js:12347:17) [角度]


确保在模块文件中完成了以下操作(引用自docs.nativescript.org)

在双向数据绑定中使用ngModel指令之前,我们需要 必须导入NativeScriptFormsModule并将其添加到 模块的导入列表:


在主app.component.ts中导入
NativeScriptFormsModule
,它应该可以工作
import {NativeScriptFormsModule} from "nativescript-angular/forms"
@NgModule({
    imports: [
        NativeScriptModule,
        NativeScriptRouterModule,
        NativeScriptFormsModule, // RIGHT HERE
    ],
})