我正在創建一個角度爲2的TranslationPipe
,它接受一個字符串作爲輸入,並從TranslationService
獲得翻譯並將其返回到視圖。像這樣的例子:觸發器管道重新加載而不改變輸入
<div>{{ 'hello world' | translate }}</div>
變爲:
HEJ韋登
我想辦法改變視圖的語言,並更新頁面上的所有文本,而不需要重新加載整個頁面。有沒有辦法觸發頁面上所有TranslationPipe
的重新加載,或者甚至是應用程序中的所有管道?
通常,角度觸發管道的唯一方法是通過更改傳遞給它的變量。輸入是一個字符串,但我需要手動觸發。
文本對象存儲所有的翻譯文本存儲在該服務,所以我知道另一種解決辦法來做到這一點 <div> translationObject['hello world'] </div>
但對設計師較少可讀性。
像{{'my text'| translate:languageVar}}? – andykais
沒錯。 。 。 。 。 。 –
@GünterZöchbauer我有一個像| filterargs:objectWithProperties。只有當我提到使用不純管道時,纔會評估此管道。然而它非常昂貴。當objectWithProperties中的任何屬性發生更改時,Pipe都不會被評估。 –