无法阅读属性' cinemaName'未定义的

时间:2018-02-06 11:24:36

标签: angular

我是angular2及以上的新手。我已经定义了一个带有输入类型文本的表单,如下所示

<form class="form-horizontal" name="form" role="form">

    <div class="form-group">
                <label class="col-md-3 control-label">Cinema Name</label>
                <div class="col-md-9">
                  <input type="text" class="form-control" id="cinemaName" name="cinemaName" placeholder="Cinema Name" [(ngModel)]="addNewCinema.cinemaName">
                </div>
              </div>
<div class="row">
            <div class="col-md-offset-3 col-md-9">
              <button type="submit" (click)="saveNewCinema()" class="btn blue-dark">Save</button>
              <button type="button" class="btn default">Cancel</button>
            </div>
          </div>
</form>

在ts中我已经宣布了这样的

addNewCinema:any = {  }

但是当我尝试运行时会出现错误,如

Cannot read property 'cinemaName' of undefined

2 个答案:

答案 0 :(得分:1)

也许您没有将您的ts代码放在正确的文件中,或者它没有保存。使用相同的上述代码,我没有收到任何错误。

请参阅我的代码 - https://stackblitz.com/edit/angular-331r8c?file=app%2Fapp.component.ts

答案 1 :(得分:0)

如果您从api获取数据,请执行以下操作:

[(ngModel)]="addNewCinema?.cinemaName"

如果在运行时您的模板还不知道数据出现了什么,则会使用问号。