編輯: 我想基本上擴展所提供的管NGX-翻譯,如下:如何創建新的NGX-翻譯管(純VS不純)
import { Pipe, PipeTransform } from '@angular/core';
import { TranslatePipe } from "@ngx-translate/core";
@Pipe({
name: 'msg'
})
export class MsgPipe extends TranslatePipe implements PipeTransform {
transform(value: any, args: any[]): any {
return super.transform(value, args)
}
}
只有純粹當設置爲這個工程假,所以我認爲ngx-translate的加載器還沒有準備好。 有沒有檢查?這樣我可以保持管道的純淨和工作。
原帖(無關):
我已經創建了一個簡單的調用translateService.instant並返回結果的管道。
@Pipe({
name: 'msg',
pure: false
})
export class MsgPipe implements PipeTransform {
constructor(private translateService: TranslateService) {}
transform(value: any, args: any[]): any {
console.log('checked. val = ', value)
return this.translateService.instant(value, args);
}
}
沒有將此標記爲純粹:false,管道只返回值。它有它(因爲我認爲文件加載器已完成)。
我的問題是,每個管道被調用約8次,我可以做任何改變檢測告訴管道停止檢查一旦檢索到一個值?
只是一個簡單的問題:爲什麼你會需要一個管道來管理翻譯?它看起來並不實際,甚至更不潔淨。我相信他們使用純粹的管道來管理更新? 您可以嘗試更改使用管道組件的檢測策略,但維護管道是非常不切實際的...... –
ngx-translate提供了管道,我想基本上擴展它,詳見我的編輯 –
更新的問題在這裏:https://stackoverflow.com/questions/46431752/how-to-extend-ngx-translate-pipe –