如何使用*ngIf angular 2在文本区域中渲染数据或<;p>;取决于用户操作?
我正在做一个可点击的评论小部件原型。目前,我正在文本区域内显示评论。我希望文本区域被禁用,除非选择了“编辑”选项,并且我希望始终显示文本区域的最多3行。根据下面的代码使用textarea和*ngIf的问题是,如果在单击“编辑”后为{{note.note}}提供了任何输入,那么一旦单击另一个文本区域的编辑选项,输入就会丢失。如果我不使用*ngIf,那就不会发生这种情况。但是,如果不使用ngIf,我怎么能改变样式并禁用textarea,无论是否选中?我尝试使用*ngIf在文本区域或段落之间切换,但如果这样做,我也会丢失在单击“编辑”另一个条目后键入的任何注释如何使用*ngIf angular 2在文本区域中渲染数据或<;p>;取决于用户操作?,angular,Angular,我正在做一个可点击的评论小部件原型。目前,我正在文本区域内显示评论。我希望文本区域被禁用,除非选择了“编辑”选项,并且我希望始终显示文本区域的最多3行。根据下面的代码使用textarea和*ngIf的问题是,如果在单击“编辑”后为{{note.note}}提供了任何输入,那么一旦单击另一个文本区域的编辑选项,输入就会丢失。如果我不使用*ngIf,那就不会发生这种情况。但是,如果不使用ngIf,我怎么能改变样式并禁用textarea,无论是否选中?我尝试使用*ngIf在文本区域或段落之间切换,但如
{{note.name}
{{注.日期}
{{note.note}
{{note.note}
- edit
删除
保存
取消
您只能使用一个文本区域:
{{note.note}
您只能使用一个文本区域:
{{note.note}}
我假设您希望访问此人键入的信息,以便保存到您的后端(或类似内容)。如果是这种情况,那么您实际上需要捕获存储在文本区域中的数据,而不是存储在textarea HTML元素中
有许多方法可以捕获在文本区域中输入的文本。最简单的方法是使用ngModel并将文本区域绑定到组件的成员变量。这样,当有人在文本区域中键入内容时,ngIf删除该组件时不会丢失该内容
因此,将FormsModule从“@angular/forms”导入到您的NgModule中,然后在文本区域添加一个[(ngModel)]=“variable”绑定,其中variable是组件的成员变量
大概
<textarea [ngClass]="{'note-text':true, 'editable':note===selectedNote}"
[disabled]="note!=selectedNote"
[(ngModel)]="note.note"></textarea>
而且,根据@Danilo Silveria的建议,与其使用两个文本区域,一个是禁用的,另一个不是,不如使用一个到禁用属性的绑定我假设您希望访问此人键入的信息以保存到您的后端(或类似内容)。如果是这种情况,那么您实际上需要捕获存储在文本区域中的数据,而不是存储在textarea HTML元素中 有许多方法可以捕获在文本区域中输入的文本。最简单的方法是使用ngModel并将文本区域绑定到组件的成员变量。这样,当有人在文本区域中键入内容时,ngIf删除该组件时不会丢失该内容 因此,将FormsModule从“@angular/forms”导入到您的NgModule中,然后在文本区域添加一个[(ngModel)]=“variable”绑定,其中variable是组件的成员变量 大概
<textarea [ngClass]="{'note-text':true, 'editable':note===selectedNote}"
[disabled]="note!=selectedNote"
[(ngModel)]="note.note"></textarea>
而且,根据@Danilo Silveria的建议,与其使用两个文本区域,一个是禁用的,另一个不是,不如使用一个绑定到禁用的属性这是可行的,尽管我在本例中必须删除*ngIf才能使其工作。这是可行的,尽管我在本例中必须删除*ngIf才能使其工作。