В angular-translate версии 2.0 $translate service больше не возвращает фактический перевод, а обещание. Я вижу, что это хорошая идея, потому что может произойти асинхронная загрузка. Но меня смущает, как использовать службу должным образом в моем случае, потому что я использовал $ перевести службу внутри литерала объекта, как этотКак использовать обещание внутри объекта литерал
$scope.myDefs = [
...
{
field: 'supplier',
displayName: $translate('Supplier'),
cellTemplate: "<div class=\"ngCellText\">...</div>"
},
...
{
field: 'supplierSize',
displayName: $translate('Size'),
width: 100,
cellClass: "center"
}
...
];
Вопрос: Как использовать обещание внутри объекта буквальным?
Предполагается (в соответствии с documentation) можно использовать следующим образом:
$translate('HEADLINE').then(function (headline) {
$scope.headline = headline;
});
Я желаю вам может "следовать" вопрос о SO без необходимости пометив его как фаворита. или ... «уведомлять, когда принимаются». Я знаю, что есть супер-гладкий способ сделать это, но это воскресный вечер, и мой мозг не будет снова подключаться должным образом. Мне нравится следующий ответ @ calebboyd, но что-то говорит мне, что есть способ создать настраиваемую службу, чтобы делать то, что вы хотите ... что это то, что он сделал, просто не абстрагировался до уровня сервиса. –