Angular6 NgModel输入绑定到异步数据无效
现在我正在开发一个阿波罗图形演示,遇到了一些麻烦 user-detail.component.htmlAngular6 NgModel输入绑定到异步数据无效,angular,Angular,现在我正在开发一个阿波罗图形演示,遇到了一些麻烦 user-detail.component.html <div *ngIf="user"> <h2>{{user.username | uppercase}} Details</h2> <div><span>id: </span>{{user.id}}</div> <div> <label>username:
<div *ngIf="user">
<h2>{{user.username | uppercase}} Details</h2>
<div><span>id: </span>{{user.id}}</div>
<div>
<label>username:
<input [(ngModel)]="user.username" placeholder="username" />
</label>
</div>
<button (click)="save()">save</button>
</div>
user.service.ts
getUser(id: string): Observable<User> {
// TODO: send the message _after_ fetching the hero
this.messageService.add(`UserService: fetched user id=${id}`);
return this.apollo
.watchQuery({
query: userQuery,
variables: {
userID: id
}
})
.valueChanges.pipe<User>(
map(({data}: {data: {user: object}}) => data.user)
);
}
因此,我认为AsyncPipe数据存在一些问题。有人能帮我解决吗
我已经导入了表单模块
并定义了用户
export class User {
id: string;
username: string;
}
除非缺少一些代码,否则您实际上并没有使用异步管道。您如何检查用户对象是否已更新?@user184994 1。在
user detail.component.html
中,{{user.username | uppercase}}详细信息
用户.username的文本不会更改。2.有save()
来更新用户名,mongodb的日志告诉你在浏览器中看到错误了吗?我试图重现你的问题并修复,看看:@user184994不,真的很奇怪
getUser(): void {
this.user = {
id: '1',
username: 'test'
}
}
export class User {
id: string;
username: string;
}