我使用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:at _throwError(file:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:1838:11) [angular] JS:在setUpControl (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:1751:9) [angular] JS:在NgModel._setUpStandalone (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4320:9) [angular] JS:在NgModel._setUpControl (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4306:37) [angular] JS:在NgModel.ngOnChanges (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/forms/bundles/forms.umd.js:4237:18) [angular] JS:在checkAndUpdateDirectiveInline (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:10715:19) [angular] JS:在checkAndUpdateNodeInline (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12097:17) [angular] JS:在checkAndUpdateNode (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12065:16) [angular] JS:在debugCheckAndUpdateNode (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12694:59) [angular] JS:在debugCheckDirectivesFn (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12635:13) [angular] JS:at Object.eval [as updateDirectives] (ng:///AppModule/LoginComponent.ngfactory.js:363:5)[棱角分明] JS:at Object.debugUpdateDirectives [as updateDirectives] (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12620:21) [angular] JS:在checkAndUpdateView (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12032:14) [angular] JS:在callViewAction (文件:///data/data/com.Mystory.android/files/app/tns_modules/@angular/core/bundles/core.umd.js:12347:17) [角]
答案 0 :(得分:0)
确保您在模块文件中完成了以下操作(引自docs.nativescript.org)
在我们可以在双向数据绑定中使用ngModel指令之前 必须导入NativeScriptFormsModule并将其添加到Angular module的导入列表:
import {NativeScriptFormsModule} from "nativescript-angular/forms"
@NgModule({
imports: [
NativeScriptModule,
NativeScriptRouterModule,
NativeScriptFormsModule, // RIGHT HERE
],
})