角度2にTranslationPipe
を作成しています。これは文字列を入力として受け取り、TranslationService
から変換を取得してビューに返します。入力を変更せずにパイプリロードをトリガーする
<div>{{ 'hello world' | translate }}</div>
は次のようになります:例えば、次のように
フェルデン
HEJ私は、ビューの言語を変更し、ページ全体をリロードすることなく、ページ上のすべてのテキストを更新するための方法をしたいです。ページ上にすべてTranslationPipe
のリロードをトリガーする方法はありますか、またはアプリケーション内のすべてのパイプさえできますか?
一般的に、角度でパイプがトリガされる唯一の方法は、渡される変数の変更によるものです。入力は文字列ですが、代わりに手動でトリガーを発生させる必要があります。すべての翻訳テキストを格納
テキストオブジェクトはので、私は別の解決策は、この <div> translationObject['hello world'] </div>
を行うことであろう知っているサービスに保存されているが、それは、設計者にはあまり読みやすさを持っています。
{{'my text' |翻訳:languageVar}}? – andykais
正確です。 。 。 。 。 。 –
@GünterZöchbauer私は| filterargs:objectWithProperties。このパイプは、あなたが言及したように不純なパイプを使用する場合にのみ評価されます。しかし、本当に高価です。 objectWithPropertiesのプロパティが変更されたときに、パイプが評価されません。 –