【发布时间】:2018-03-21 14:04:01
【问题描述】:
我在父模板中使用 ngIf。我有以下代码。
在html中:
<button *ngIf="saveButton" type="button" class="button-success" (click)="save()">Save</button>
<add (setSavebutton)="setSavebutton($event)"></add>
在组件中:
private setSavebutton(_boolean: any) {
this.saveButton = _boolean;
console.log(this.saveButton); // true
}
private save() { // save my item set by child }
在我的孩子(添加)我这样做:
@Output() setSavebutton: EventEmitter<any> = new EventEmitter<any>();
if (this.form.valid) {
console.log(this.form.valid); // true
this.setSavebutton.emit(true);
}
console.log 都返回 true 但我的按钮没有显示。
我在这里做错了什么?
编辑
我找到了解决方法。他们的孩子的代码是一样的。
在父 html 中:
<button [hidden]="!saveButton" type="button" class="button-success" (click)="save()">Save</button>
为什么 hidden 有效而 ngIf 无效?
【问题讨论】:
-
(click)="save()"调用save(),但没有save()方法。 -
有没有不重要。这是关于按钮未显示的问题。我不会添加我所有的代码,你不会高兴的。
-
您可以添加相关代码,或调整您的代码,使其对我们有意义。你从哪里打电话给
setSaveButton()? -
这不是一种反应形式,但它应该像这样工作:S 但遗憾的是它没有..
-
如果表单(带有所需验证器的表单构建器)有效,它将在表单中加载数据,它将启用父级上的提交按钮。
标签: html angular angular-ng-if