angular - 路由器链接一直被调用
问题描述
我有以下代码
routerLink="{{onSelect(id)}}.
一直在调用此方法,当我单击转到另一个选项卡时,它会接管,无论如何,只有在 iclick
或? 时才会调用此函数right-click(new Tab)
?提前致谢!
我的代码是这样的
HTML<a routerLink="{{onSelect(prod?.key)}}">{{prod?.name}}</a>
Ts.
onSelect(prod){
setTimeout(() => {
this.onSelectedEmmiter.emit(prod);
}, 0);
}
SO i can not use (click) cause i need the option to open new tab in right click.
Using return [`/x/x/] or navigate work only the first time
解决方案
你用错了。我应该是(click)="onSelect(id)"
(假设onSelect
应该响应使用过的点击)。除此之外,回答为什么它一直被调用:
这是因为每次在更改检测周期中都会评估特定绑定。这样的循环在每个鼠标/键盘事件上作为异步任务完成启动。
推荐阅读
- sql - 如何从 SQL 中的单列数据(日期时间格式的登录)中获取每天每小时的平均登录次数?
- oracle-apex - 如何进行计数
- ruby-on-rails - 在 Rails 5 中,我们应该在哪里放置核心扩展或 gem 扩展?
- powerbi - 为 ETL 转换此数据集时遇到问题
- php - 更改不同角色的访问控制
- ruby-on-rails - 带有可选变量的 Rails 部分不起作用
- xml - 为什么 xsl:when 和 xsl:value-of 在这里不起作用?
- php - 关于 Wordpress 和 Buddypress
- django - 无法在我的代码中分配 SimpleLazyObject
- ibm-mq - IBM MQ 传输队列消息未放置在死信队列中