Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度2中纯管道和非纯管道的混合_Angular_Pipes Filters - Fatal编程技术网

Angular 角度2中纯管道和非纯管道的混合

Angular 角度2中纯管道和非纯管道的混合,angular,pipes-filters,Angular,Pipes Filters,是否可能有行为类似于不纯管道的管道,但不会在每个激发事件上执行。例如,我想创建translate管道,该管道仅在语言下拉列表值更改时执行,使用缓存。对于每个翻译,保存原文和译文 对于每个对管道的调用,在缓存中搜索,如果存在,则使用它,否则进行转换并保存在缓存中 使用存储缓存的可注入服务 更改语言下拉列表时,请清除缓存;) 这个问题由来已久。但既然还没有公认的答案,让我补充一下我的想法 可以添加到管道中。当参数更改时,管道将调用transform函数 正如@Javier所说,您可以使用可注入服务来

是否可能有行为类似于不纯管道的管道,但不会在每个激发事件上执行。例如,我想创建translate管道,该管道仅在语言下拉列表值更改时执行,使用缓存。对于每个翻译,保存原文和译文

对于每个对管道的调用,在缓存中搜索,如果存在,则使用它,否则进行转换并保存在缓存中

使用存储缓存的可注入服务


更改语言下拉列表时,请清除缓存;)

这个问题由来已久。但既然还没有公认的答案,让我补充一下我的想法

可以添加到管道中。当参数更改时,管道将调用
transform
函数

正如@Javier所说,您可以使用可注入服务来存储不同的翻译缓存。在
transform
功能中,您将检查参数并将其用作从服务获取翻译的键