Angular 为什么角事件发射器不';当组件嵌套在其他组件中时不工作?
在card component html中,我有ng内容,我将card item组件放在card组件中。 为什么在这种情况下我不能发出值 例1Angular 为什么角事件发射器不';当组件嵌套在其他组件中时不工作?,angular,angular-event-emitter,ng-content,Angular,Angular Event Emitter,Ng Content,在card component html中,我有ng内容,我将card item组件放在card组件中。 为什么在这种情况下我不能发出值 例1 card.component.html <div> <ng-content> </div> card.component.html 如果我将car item组件移到card组件之外,事件发射器工作正常 例2 card-item.component.html <div>
card.component.html
<div>
<ng-content>
</div>
card.component.html
如果我将car item组件移到card组件之外,事件发射器工作正常
例2
card-item.component.html
<div>
<div class="card-header"> header </div>
<div class="card-body"> content </div>
<div class="card-footer"> footer</div>
</div>
card-item.component.html
标题
内容
页脚
是否有任何方法可以像第一个示例中那样发出值?您应该在html元素或ng容器上调用事件发射器
<ng-container (closeEmitter)="onClose($event)">
<card-item></card-item>
</ng-container>. or on an html element
<div (closeEmitter)="onClose($event)">
<card-item></card-item>
</div>
. 或者在html元素上
或者您可以创建一个hidden和show类,或者使用ngHide或ngShow变量-ngClass是最干净的,因为您可以使用css visibility:hidden并在hide类中将高度设置为0。是否可以在div或ng容器上调用事件发射器?我不这么认为。是的,但更好的方法是使用ngClass和一个布尔运算符来设置类[ngClass]=“yourtruthyvariable?”“show':“hide”或一些变量-它更干净,我们可以从组件中监听事件。@Nikolay我们不知道什么可以调用事件emmitter,或者他是否在组件端有某种主机绑定。我假设他做了——这是一段更大代码的一小部分——也许我错了——它发生了。
<card></card>
<card-item (closeEmitter)="onClose($event)"></card-item>
<ng-container (closeEmitter)="onClose($event)">
<card-item></card-item>
</ng-container>. or on an html element
<div (closeEmitter)="onClose($event)">
<card-item></card-item>
</div>