我将Angular升级到4.1.0并在我的项目中启用了“strictNullChecks”。现在,我有很多错误,例如模板中的(.html):
对象可能是'null'
他们都是这样的.html模板:
<form class="ui equal width form attached segment" [formGroup]="usrFrm">
<h4 class="ui dividing blue header">User Name</h4>
<div class="fields">
<div class="required field">
<label>Title</label>
<select class="ui dropdown">
<option default><select title></option>
<option value="1">Ms.</option>
<option value="0">Mr.</option>
</select>
</div>
</div>
<div class="fields">
<div class="required field" [class.error]="usrFrm.touched && usrFrm.get('firstName').invalid">
<label>First name</label>
<input type="text" formControlName="firstName" placeholder="First Name" />
</div>
<div class="field" [class.error]="usrFrm.touched && usrFrm.get('middleName').invalid">
<label>Middle name</label>
<input type="text" formControlName="middleName" placeholder="Middle Name" />
</div>
<div class="required field" [class.error]="usrFrm.touched && usrFrm.get('lastName').invalid">
<label>Last name</label>
<input type="text" formControlName="lastName" placeholder="Last Name" />
</div>
</div>
...
那么,有没有办法解决这个问题而不关闭“strictNullChecks”?
答案 0 :(得分:0)
答案 1 :(得分:0)
您是否尝试过usrFrm.controls.firstName.invalid
。我知道是getting
无效状态的另一种方式,但是当我出现Object is possibly 'null'
TS提示弹出窗口时,对我有用。
答案 2 :(得分:0)
更改严格检查设置: 在 tsconfig.json 中
compilerOptions:{
"suppressImplicitAnyIndexErrors": true,
"strictNullChecks":false,
"strictPropertyInitialization": false,
}