2017-04-19 64 views
1

進出口使用"angular-translate": "^2.15.1"$translateProvider.useSanitizeValueStrategy('sce')

在我的控制,我需要一個翻譯字符串值傳遞給$ http服務。

但下面的代碼是返回我TrustedValueHolderType對象而不是字符串。

defaultMessage = translate.instant('welcome-message.default.message');

enter image description here

最低配置plunkr https://plnkr.co/edit/ZPtixjNub9kIExiuGIkp?p=preview 打開控制檯(清除)。然後點擊DE或EN按鈕,看到日誌

+0

您可以創建一個plunker重現這個工程? – tanmay

+0

@tanmay plunker,請點擊DE或EN,打開控制檯查看日誌:https://plnkr.co/edit/ZPtixjNub9kIExiuGIkp?p=preview – STEEL

+0

不知道怎麼回事但是''decodeURIComponent()'修復了這個問題 – STEEL

回答

2

是的,正如評論中提到的,decodeURIComponent可能會解決它。但這裏是被擺在首位造成這樣的:

$translateProvider.useSanitizeValueStrategy('sce') 

這個編碼您的輸出$translate全球..這就是爲什麼你能得到它的工作使用decodeURIComponent

也許你可以使用不同的策略。 angular-translate guide似乎暗示escape策略爲此。

這裏有一個forked plunkerescape戰略,而無需使用decodeURIComponent

相關問題