0

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

这是我的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);
                }
            );

        }
}

这是我启动应用程序时遇到的错误:

JS:错误错误:未捕获(承诺中):错误:具有未指定名称属性的表单控件没有值访问器 JS:错误:具有未指定名称属性的表单控件没有值访问器 JS:在_throwError(文件:///数据/数据/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:1838:11) [angular] JS: 在 setUpControl (file:///data/data/com.Mystory .android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:1751:9) [angular] JS: 在 NgModel._setUpStandalone (file:///data/data/com.Mystory.android /files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4320:9) [angular] JS: 在 NgModel._setUpControl (file:///data/data/com.Mystory.android/files /app/tns_modules/@angular/forms/bundles/forms.umd.js:4306:37) [angular] JS: 在 NgModel.ngOnChanges (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4237:18) [angular] JS: 在 checkAndUpdateDirectiveInline (file:///data/data/com.Mystory.android/files/ app/tns_modules/@angular/core/bundles/core.umd.js:10715:19) [angular] JS: 在 checkAndUpdateNodeInline (file:///data/data/com.Mystory.android/files/app/tns_modules/ @angular/core/bundles/core.umd.js:12097:17) [angular] JS: 在 checkAndUpdateNode (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core /bundles/core.umd.js:12065:16) [angular] JS:在 debugCheckAndUpdateNode (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core .umd.js:12694:59) [angular] JS: 在 debugCheckDirectivesFn (file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js :12635:13)[角度] JS:在对象。eval [as updateDirectives] (ng:///AppModule/LoginComponent.ngfactory.js:363:5) [angular] JS: 在 Object.debugUpdateDirectives [as updateDirectives] (file:///data/data/com.Mystory. android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12620:21) [angular] JS: 在 checkAndUpdateView (file:///data/data/com.Mystory.android/files/ app/tns_modules/@angular/core/bundles/core.umd.js:12032:14) [angular] JS: 在 callViewAction (file:///data/data/com.Mystory.android/files/app/tns_modules/ @angular/core/bundles/core.umd.js:12347:17) [角度]///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12032:14) [angular] JS: 在 callViewAction (file:///data /data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12347:17) [角度]///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12032:14) [angular] JS: 在 callViewAction (file:///data /data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12347:17) [角度]

4

1 回答 1

0

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

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

import {NativeScriptFormsModule} from "nativescript-angular/forms"
@NgModule({
    imports: [
        NativeScriptModule,
        NativeScriptRouterModule,
        NativeScriptFormsModule, // RIGHT HERE
    ],
})
于 2017-04-27T11:17:40.553 回答