You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中如何将插值翻译字符串作为函数参数传递

Angular 翻译管道在事件绑定中未解析的解决方案

问题出在你把模板插值语法{{...}}直接嵌套进了事件绑定的括号里,Angular在事件绑定的表达式上下文中不会解析这种插值语法,导致传递给toggleTips的是字符串字面量{{tootltip_val|translate}},而不是翻译后的实际内容。

解决方法很简单,直接在事件绑定里使用翻译管道表达式即可,不需要加插值符号:

  • 把事件绑定里的'{{tootltip_val|translate}}'替换成('tooltip_val'|translate)(注意修正拼写错误:tootltip_val多了一个o,应该是tooltip_val)

修改后的完整代码:

<input type="text" class="form-control" placeholder="{{'placeholder_val'|translate}}" ngModel name="name"
      [ngbPopover]="tipContent" popoverClass="help-tips" [autoClose]="'outside'" triggers="manual"
           #p1="ngbPopover"
           (click)="toggleTips(p1, ('tooltip_val'|translate))">

原理是Angular的事件绑定()内部支持直接执行表达式,包括管道调用,用括号包裹管道表达式可以确保优先级正确,让翻译管道先执行,再把结果传递给toggleTips函数。

内容的提问来源于stack exchange,提问作者Bharat Godam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:10:30