HTMLコンテンツを含む文字列を処理するようにangularとangular-translateに指示する方法はありますか?
私は add_card-title = "To make order even quicker, <span class="nowrap">add a card now</span>"
を私のラング文字列として持っています。これをテンプレートで使う場合、<p>{{'add_card-title'| translate}}</p>
と記述すると、そのままの文字列が表示されます。
Output: To make ordering even quicker, <span class="nowrap">add a card now</span>
こんな感じです。
期待される出力: To make ordering even quicker, add a card now
.
ng-html-bind-unsafe`を使用できることは知っていますが、それは役に立ちません。
Not working:
<p ng-html-bind-unsafe="{{'add_card-title' | translate}}"></p>
何か実現する方法はないでしょうか?
以下は私のプランカーです。http://plnkr.co/edit/nTmMFm9B94BmbTgo2h8H?p=preview
参考までに、この問題を見ることができます: https://github.com/PascalPrecht/angular-translate/issues/173
note: 私はそれを処理するためにコントローラを呼び出したくありません。
最近はangular-translate 2.0を使えば、すぐにでもできます。
<p translate="{{ 'PASSED_AS_INTERPOLATION' }}"></p>
は私にとっては素晴らしい作品です。
解決策が見つかりました。
私は ng-html-bind-unsafe
が非推奨になった AngularJS v1.2.0-rc.3
を使っていました。現在、angularはng-html-bind-unsafe
の代わりにng-bind-html
を持っています。しかし、これを動作させるためには、angular-sanitizeを依存関係として注入する必要があります。
私は
<p ng-html-bind-unsafe="{{'add_card-title' | translate}}"></p>
を
<p ng-bind-html="'{{'add_card-title' | translate}}'"></p>
と入力すると、動作するようになりました。