【发布时间】:2019-06-26 19:09:52
【问题描述】:
使用 Angular 6,我有下面的 html,并想单击编辑文本以使包含 Detail$.Title 的 div 可编辑。
我正在尝试按照this SO post 进行操作
<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是无效的。 -
Detail$是什么类型?通常,在变量名末尾有一个$表明它是一个可观察的,但这不是你使用它的方式。另外,this.tDetail$是错字还是另一个变量? -
Detail$ 只是 Object 类型 (Detail$: Object;),修正了错字
-
我看到你现在改了
tDetail$的错字,很好。你能创建一个堆栈闪电战来向我们展示你在做什么吗? -
会的,给我 10 分钟...
标签: html angular typescript