2013-09-17 3 views
0

В настоящее время я работаю над проектом, используя angular-translate. Цель для меня - создать карту перевода, которая позволяет разработчику изменять объектную модель без нарушения перевода.Вложенные фигурные скобки с AngularJS

Например, сказать, что я заказ сохранен в моей компетенции:

$scope.order = { 
    numberOfItems: 5, 
    // ... 
}; 

и перевод, карту со свойством отображающего количества элементов:

var translationsEN = { 
    itemsNumber: "{{numberOfitems}} item(s)", 
    // ... 
}; 

var translationsFR = { 
    itemsNumber: "{{numberOfItems}} article(s)", 
    // ... 
}; 

С этой картой, я могу легко сделать это:

{{'itemsNumber' | translate:order}} 

Но если разработчик хотел бы изменить название numberOfItems собственность, он должен будет изменить карту перевода тоже, что довольно привередливые ... Итак, я изменил мою карту перевода для этого:

var translationsEN = { 
    itemsNumber: "{{number}} item(s)", 
    // ... 
}; 

var translationsFR = { 
    itemsNumber: "{{number}} article(s)", 
    // ... 
}; 

Теперь разработчик просто передать простой объект не с необходимыми значениями, например:

<span translate="order.misc.itemsNumber" 
     translate-values="{ number:{{order.numberOfItems}} }"> 
</span> 

Но, как вы можете видеть, я больше не с помощью фильтров, но директивы. Я не могу найти способ сделать что-то вроде этого:

{{'order.misc.itemsNumber' | translate:'{ number:{{order.numberOfItems}} }'}} 

Это не работает либо:

{{'order.misc.itemsNumber' | translate:'{ number:order.numberOfItems }'}} 

Есть ли решение, которое позволяет мне использовать фильтры или я должен просто использовать директивы?

ответ

0

Try без кавычек:

{{'order.misc.itemsNumber' | translate: {number: order.numberOfItems}}} 
+0

Это не работает, он отображает некоторые пустые значения: "пункт (ы)" и "статьи (s)" – Nesk

Смежные вопросы