[英]Call method of named component after click on another
I have users cards (or list).我有用户卡(或列表)。 For users who have status='err'
the error icon ( <tooltip-icon>
) should appear after user name (which is inside <span>
).对于status='err'
的用户,错误图标( <tooltip-icon>
)应该出现在用户名之后(在<span>
内)。 Tooltip first shows icon and on click shows message (this works), but I also want to show this message when someone click on username.工具提示首先显示图标,然后单击显示消息(这有效),但我也想在有人单击用户名时显示此消息。
// typescript part: showTooltip(tooltipMsg, user) { if(user.status=='err') { tooltipMsg.showMessage(); // here I have undefined } }
<div class="users-cards"> <div *ngFor="let user of users" class="card"> <span (click)="showTooltip(tooltip, user)">{{ user.name }}</span> <tooltip-icon *ngIf="user.status=='err'" [label]="user.msg" #tooltip ></tooltip-icon> </div> </div>
The <tooltip-icon>
has public method showMessage()
and I want to call it when someone click on user name. <tooltip-icon>
有公共方法showMessage()
我想在有人点击用户名时调用它。 The problem is that when I click on <span>
then inside method showTooltip
the tooltipMsg==undefined
allways.问题是,当我点击<span>
然后在方法showTooltip
中, tooltipMsg==undefined
allways。 So how to get access to showMessage()
after click on <span>
?那么如何在点击<span>
后访问showMessage()
呢?
When I do this当我这样做时
<tooltip-icon
[show]="user.status=='err'"
[label]="user.msg"
#tooltip
></tooltip-icon>
and implement show
@Input param inside tooltip-icon component - then it just works.并在 tooltip-icon 组件中实现show
@Input 参数 - 然后它就可以工作了。
However this is only not efficient workaround (because we create extra nodes in DOM) - is there a way to not drop *ngIf
?然而,这只是不是有效的解决方法(因为我们在 DOM 中创建了额外的节点) - 有没有办法不删除*ngIf
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.