单击后显示一个组件($event) Angular 4
Display a component after a click($event) Angular 4
我正在尝试在触发另一个组件的点击按钮上创建一个事件,如果您再次点击它会缩小组件(显示组件的一部分始终可见)。
我知道这可以通过 [ngClass]='hidden' 和同一组件中的所有内容来完成,但我不确定它是否是模块化方面的最佳方式。
提前致谢
这是我的 html:
<div class="daydetail">
<h1>Detail of the day</h1>
<button type="button" label="Click"(click)="display('my-displaychild')"></button>
<div>{{my-displaychild}}</div>
</div>
这是我的组件:
import { DisplayChildComponent } from './displaychild.component';
export class AppliV2Component {
display(vid:DisplayChildComponent) {
console.log(DisplayChildComponent);
}
}
我认为你应该使用 *ngIf
来保持简单,你可以将布尔值传递给子组件以使用 @Input
装饰器只隐藏你想要的部分
1.parent HTML
<div class="daydetail">
<h1>Detail of the day</h1>
<button type="button" label="Click" (click)="toggleChild()"></button>
<div>
<child-component [showMePartially]="showVar"></child-component>
</div>
</div>
2.parent 分量
export class AppliV2Component {
showVar: boolean = true;
toggleChild(){
this.showVar = !this.showVar;
}
}
3.child分量
export class ChildComponent {
@Input() showMePartially: boolean;
// don't forget to import Input from '@angular/core'
}
4.child HTML
<div>
<h1> this part is always visible</h1>
</div>
<div *ngIf="showMePartially">
<h1> this part will be toggled by the parent component button</h1>
</div>
我有一个 api 产品。我列出了 them.And 用户可以将此商品添加到购物车。
<div>
<ul class="list-group">
<li *ngFor="let product of products" class="list-group-item">
<button (click)="addToCart(product)" class="btn btn-xs btn-primary pull-right">
<i class="glyphicon glyphicon-plus"></i>
Add To Cart
</button>
<h5><strong>{{product.productName}}</strong></h5>
<p> {{product.quantityPerUnit}}</p>
<h6>{{product.unitPrice}}</h6>
</li>
方法是这样的。
addToCart(product:Product){
this.addedProduct=product.productName;
this.notificationsService.success("Successfull",product.productName +" added to CART")
}
我正在尝试在触发另一个组件的点击按钮上创建一个事件,如果您再次点击它会缩小组件(显示组件的一部分始终可见)。 我知道这可以通过 [ngClass]='hidden' 和同一组件中的所有内容来完成,但我不确定它是否是模块化方面的最佳方式。 提前致谢
这是我的 html:
<div class="daydetail">
<h1>Detail of the day</h1>
<button type="button" label="Click"(click)="display('my-displaychild')"></button>
<div>{{my-displaychild}}</div>
</div>
这是我的组件:
import { DisplayChildComponent } from './displaychild.component';
export class AppliV2Component {
display(vid:DisplayChildComponent) {
console.log(DisplayChildComponent);
}
}
我认为你应该使用 *ngIf
来保持简单,你可以将布尔值传递给子组件以使用 @Input
装饰器只隐藏你想要的部分
1.parent HTML
<div class="daydetail">
<h1>Detail of the day</h1>
<button type="button" label="Click" (click)="toggleChild()"></button>
<div>
<child-component [showMePartially]="showVar"></child-component>
</div>
</div>
2.parent 分量
export class AppliV2Component {
showVar: boolean = true;
toggleChild(){
this.showVar = !this.showVar;
}
}
3.child分量
export class ChildComponent {
@Input() showMePartially: boolean;
// don't forget to import Input from '@angular/core'
}
4.child HTML
<div>
<h1> this part is always visible</h1>
</div>
<div *ngIf="showMePartially">
<h1> this part will be toggled by the parent component button</h1>
</div>
我有一个 api 产品。我列出了 them.And 用户可以将此商品添加到购物车。
<div>
<ul class="list-group">
<li *ngFor="let product of products" class="list-group-item">
<button (click)="addToCart(product)" class="btn btn-xs btn-primary pull-right">
<i class="glyphicon glyphicon-plus"></i>
Add To Cart
</button>
<h5><strong>{{product.productName}}</strong></h5>
<p> {{product.quantityPerUnit}}</p>
<h6>{{product.unitPrice}}</h6>
</li>
方法是这样的。
addToCart(product:Product){
this.addedProduct=product.productName;
this.notificationsService.success("Successfull",product.productName +" added to CART")
}