Как мне ссылаться на имя поля, которое содержит точку в шаблоне усов?
Как мне ссылаться на имя поля, которое содержит точку в шаблоне усов? Например, если у меня есть вид, как
{
"foo.bar": "my value"
}
тогда как я могу поставить my value
в шаблон? С помощью {{foo.bar}}
не работает, потому что усы думают, что точка является частью пути, как будто должен быть "foo", у которого есть "полоса".
1 ответ
Вы не можете прочитать ключ с .
в нем из усов. Спецификация Усов диктует, что .
используется для разделения имен содержимого Усы предоставляют средства для выхода, но только для HTML-контента.
Усы спек: интерполяция
Вам нужно будет предварительно обработать ваши данные, чтобы использовать их в шаблоне Усы. Как вы это сделаете, будет зависеть от того, насколько широко распространена проблема.
Я нашел простой пример переназначения свойства в JavaScript, написанный Jon:
function rename(obj, oldName, newName) {
if(!obj.hasOwnProperty(oldName)) {
return false;
}
obj[newName] = obj[oldName];
delete obj[oldName];
return true;
}
Источник: переименовать ключи... в объекте