首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取未定义的属性<propety Name>,尽管它是在angular2中初始化的

无法读取未定义的属性<propety Name>,尽管它是在angular2中初始化的
EN

Stack Overflow用户
提问于 2017-12-21 08:38:03
回答 3查看 51关注 0票数 0

作为学习Angular2的一部分,我创建了模板驱动的表单。当试图显示表单时,我收到一个错误声明:“无法读取未定义的的属性'FirstName‘,尽管我在类的声明中初始化了业务对象(worker)。即使我在构造函数中初始化它,它也是存在的。请参阅我的代码(“精益”版本):Html(EditWorker.component.html):

代码语言:javascript
复制
<input id="firstNameId" type="text" [(ngModel)]= worker.FirstName ... />

EditWorker.component.ts:

代码语言:javascript
复制
export class EditWorker 
{
    constructor(){}
    worker : Worker = new Worker();

Worker.model.ts:

代码语言:javascript
复制
export class Worker implements IWorker{
...
FirstName:string;
...
constructor(){}

我在这里错过了什么?

EN

回答 3

Stack Overflow用户

发布于 2017-12-21 08:40:48

您需要在构造函数内实例化

代码语言:javascript
复制
 worker : Worker 
 constructor(){
  this.worker  = new Worker();
}
票数 1
EN

Stack Overflow用户

发布于 2017-12-21 10:48:32

我知道初始化解决方案应该有效。应用程序引导的方式可能有问题--我已经改变了引导的方式(直接指向我感兴趣的组件),并且它工作了。谢谢大家

票数 0
EN

Stack Overflow用户

发布于 2017-12-21 12:10:31

您是否试图将worker.FirstName更改为worker?.FirstName

代码语言:javascript
复制
<input id="firstNameId" type="text" [(ngModel)]= worker?.FirstName ... />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47921046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档