【发布时间】:2021-07-11 09:13:03
【问题描述】:
所以我有一个 Component.html,其中包含如下输入:
<input type="text" (change) = "setNewUserName($event.target.value)"/>
component.ts 是:
import { Component } from "@angular/core";
@Component({
selector : 'app-users-list',
templateUrl : './usersList.component.html'
})
export class UsersListComponent
{
setNewUserName (userName : string): void {
console.log('setNewUserName', userName)
}
}
最后 module.ts 是:
@NgModule ({
declarations: [UsersListComponent],
imports : [CommonModule],
exports: [UsersListComponent]
})
export class UsersListModule {}
运行服务器时,弹出如下错误:
error TS2531: Object is possibly 'null'.
1 <input type="text" (change) = "setNewUserName($event.target.value)"/>
~~~~~
【问题讨论】:
-
你为什么不使用
([ngModel])如果这是反应形式那么你可以在AfterViewInitthis.reactiveForm.valueChanges.subscribe(x => { console.log('form value changed') console.log(x) })下检查你可以使用它。 -
恐怕我不太明白你指的是什么。这实际上是我的第一个 Angular 应用程序,所以我是新手。
-
使用“安全”运算符
?:setNewUserName($event.target?.value)。顺便说一句,您可以使用 [(ngModel)] 来绑定两个方向-或 [ngModel] (ngModelChange)- -
我尝试了安全运算符,我也尝试使用 this.value 但它们都返回错误
标签: html angularjs angular typescript