2016-01-25 4 views
0

У меня есть массив уведомлений в моем контроллере, а затем в разных событиях нажимают на него строку (переводят ключ). Например, мой JSON:Угловой перевод doen't читать переменные внутри json

{ 
    'orderAccepted': 'Your order with id #{{order.id}} was accepted' 
} 

У меня есть значение заказ [ 'ID'], но с точки зрения это показывает 'Ваш заказ с идентификатором # было принято'. Другие переводы без значений работают. Мои нг-повторить:

<ul> 
    <li data-ng-repeat="notification in notifications | limitTo: -5 track by $index">{{notification | translate}}</li> 
</ul> 
+0

какое имя у контроллера? Не могли бы вы разместить весь свой html-файл, где вы определяете контроллер? –

ответ

1

Вы должны выяснить, как построить массив с объектами для ваших уведомлений, которые содержат ключи перевода и любую дополнительную информацию. Затем вы должны добавить переменную, которую хотите отобразить, как это:

{ 
    'orderAccepted': 'Your order with id #{{orderId}} was accepted' 
} 

И в HTML:

<li data-ng-repeat="notification in notifications | limitTo: -5 track by $index"> 
    {{notification.translationKey | translate:'{ orderId: notification.orderId}'}} 
</li> 

Или попробуйте перевести как директиву:

<li data-ng-repeat="notification in notifications | limitTo: -5 track by $index" 
    translate="{{notification.translationKey}}" 
    translate-values="{ orderId: notification.orderId }"></li> 

Вам просто нужно выяснить, как будет выглядеть ваш объект уведомления и где хранить ваш идентификатор заказа.

docs