隐藏和显示编辑输入不起作用(Angular)
Hiding and Showing Edit Input not working(Angular)
我正在尝试制作一个“编辑”按钮,按下按钮时输入字段 appears/disappears。它以前工作过,但是当我尝试制作显示表单时,它似乎无法识别 "title.value"
这很奇怪。我将布尔值用于 "edit"
变量,并结合 *ngIf 到 show/hide 表单。如果我取消 *ngIf="edit"
,它会正常工作,作为显示您所写内容的表格。我错过了什么吗?
这是HTML:
<input type="text" #title *ngIf="edit"/>
<button (click)="edit = !edit">Edit</button>
<button (click)="getTitle(title.value)">Get Title</button>
<h2>{{groupTitle}}</h2>
这是.ts:
public edit = false;
public groupTitle = "";
getTitle(val) {
this.groupTitle = val;
}
您在同时实施 ngIf
指令和对输入元素的引用时遇到问题 #title
。在这种情况下,您可以使用 hidden
而不是 ngIf
.
这是你的html:
<input type="text" #title [hidden]="!edit"/>
<button (click)="edit = !edit">Edit</button>
<button (click)="getTitle(title.value)">Get Title</button>
<h2>{{groupTitle}}</h2>
有几种更优雅的方法来绑定值并将其呈现在页面上。
第一个是摆脱 Get title
按钮并直接在输入元素上使用 (input)
方法。
在这种情况下,Html 看起来像:
<input type="text" #title *ngIf="edit" (input)="getTitle(title.value)"/>
<button (click)="edit = !edit">Edit</button>
<h2>{{groupTitle}}</h2>
第二个是使用 [(ngModel])
而不是 getTitle
方法并将您的输入值直接绑定到 groupTitle
变量。
Html 看起来像:
<input type="text" #title *ngIf="edit" [(ngModel)]="groupTitle"/>
<button (click)="edit = !edit">Edit</button>
<h2>{{groupTitle}}</h2>
您的 .ts 文件:
edit = false;
groupTitle = "";
我正在尝试制作一个“编辑”按钮,按下按钮时输入字段 appears/disappears。它以前工作过,但是当我尝试制作显示表单时,它似乎无法识别 "title.value"
这很奇怪。我将布尔值用于 "edit"
变量,并结合 *ngIf 到 show/hide 表单。如果我取消 *ngIf="edit"
,它会正常工作,作为显示您所写内容的表格。我错过了什么吗?
这是HTML:
<input type="text" #title *ngIf="edit"/>
<button (click)="edit = !edit">Edit</button>
<button (click)="getTitle(title.value)">Get Title</button>
<h2>{{groupTitle}}</h2>
这是.ts:
public edit = false;
public groupTitle = "";
getTitle(val) {
this.groupTitle = val;
}
您在同时实施 ngIf
指令和对输入元素的引用时遇到问题 #title
。在这种情况下,您可以使用 hidden
而不是 ngIf
.
这是你的html:
<input type="text" #title [hidden]="!edit"/>
<button (click)="edit = !edit">Edit</button>
<button (click)="getTitle(title.value)">Get Title</button>
<h2>{{groupTitle}}</h2>
有几种更优雅的方法来绑定值并将其呈现在页面上。
第一个是摆脱 Get title
按钮并直接在输入元素上使用 (input)
方法。
在这种情况下,Html 看起来像:
<input type="text" #title *ngIf="edit" (input)="getTitle(title.value)"/>
<button (click)="edit = !edit">Edit</button>
<h2>{{groupTitle}}</h2>
第二个是使用 [(ngModel])
而不是 getTitle
方法并将您的输入值直接绑定到 groupTitle
变量。
Html 看起来像:
<input type="text" #title *ngIf="edit" [(ngModel)]="groupTitle"/>
<button (click)="edit = !edit">Edit</button>
<h2>{{groupTitle}}</h2>
您的 .ts 文件:
edit = false;
groupTitle = "";