我们正在使用Angular 2制作翻译管道。预期的模板语法应该与此类似:
{{'lbl_translate': translate}}
但是,根据文档,
Angular仅在检测到纯粹的更改时执行纯管道 输入值
因此,在应用程序中更改语言时,这不会更新。
问题是,是否可以将语言作为另一个输入隐式传递给此管道?无需按如下方式明确指定:{{'lbl_translate': translate:'en'}}
是否可以通过' en'隐含价值?有没有更好的方法来触发这种变化?
答案 0 :(得分:0)
如Günter所述,不可能在不改变输入的情况下发射纯管道。这是设计使纯管道保持不变。
我们使用不纯的管道用于我们的目的,就像在ng2-translate软件包中所做的那样。这确实会对性能产生影响,但可以很好地满足需求。但重要的是在管道内保持功能尽可能简单,以使应用程序以可接受的速度运行。