使用Angular 6,我有以下HTML代码,并希望单击编辑文本以使包含Detail$.Title的div可编辑。
我正在尝试按照此SO帖子进行操作
<div class="col-sm-6">
<div class="card text-left" >
<div class="card-header text-secondary">Title <small class="pull-right text-danger" (click)="setTitleEdit()">Edit Text</small></div>
<div class="card-body">
<span *ngIf="!cd.canEditCode">{{Detail$.Title}}></span>
<input *ngIf="cd.canEditCode" type="text" class="form-control" />
<p class="card-text text-secondary">{{ Detail$.Title}}</p>
</div>
</div>
Intellisense不喜欢下面的forEach或canEditCode,我知道我缺少了某些东西,只是不确定是什么,我不确定链接帖子中的canEditCode来自哪里。在我的ts文件Detail $是一个包含从调用返回的数据的对象。
getEventDetail(): void {
this.data.getDetail(this.id)
.subscribe(data => this.Detail$ = data);
}
setTitleEdit(){
this.Detail$.forEach(t => t.canEditCode = false)
this.Detail$.canEditCode=true
}
this.Detail$是一个数组,那么this.Detail$.canEditCode = true将无效;如果this.Detail$是一个对象,那么t.canEditCode = false将无效。 - Amit ChigadaniDetail$是什么类型?通常,在变量名称末尾使用$表示它是可观察的,但这不是你使用它的方式。此外,this.tDetail$是拼写错误还是另一个变量? - ShamPooShamtDetail$的拼写错误,很好。你能否创建一个stackblitz来展示你正在做什么? - ShamPooShamcanEditCode,你需要定义它或将 Detail$ 声明为any。 - ShamPooSham