我已经创建了a按钮,我希望单击它来显示文本框,它替换了我从api获得的现有文本。
trnmnt-name.copmonent.ts
export class TrnmntNameComponent implements OnInit {
@Output() public trnameEvent = new EventEmitter<any>();
constructor(){}
ngOnInit(){
}
trEvent(){
this.trnameEvent.emit("Put text box here");
}
}名为.component.html
<div class="TrnmtName">
Hello There
<button type="submit" (click)="trEvent()" >Edit</button>
</div>tournament.component.ts
export class TournamentComponent implements OnInit {
public message:"";
constructor(){}
ngOnInit() {
}
recieveMsg($event)
{
this.message = $event
}
}tournament.component.html
<div>
{{message}}
<app-trnmnt-name (trnameEvent)="recieveMsg($event)"[trname]="tournamentdata?.tournament?.name"></app-trnmnt-name>
</div>解决这个问题的任何解决方案
发布于 2018-10-23 13:48:13
你得做这样的事。span中的(click)事件将转换为editingOn = true,这将用输入框替换文本。单击“保存”按钮将调用save()并打开editingOn=false。
<ng-container *ngIf="!editingOn; else notEditing">
<p><span (click)="editingOn=!editingOn">{{yourTextModel}}</span></p>
</ng-container>
<ng-template #notEditing>
<input type="text" [(ngModel)]="yourTextModel" [ngModelOptions]="{standalone: true}">
<button type="button" (click)="save();editingOn=!editingOn">Save</button>
</ng-template>https://stackoverflow.com/questions/52948991
复制相似问题