Обработка свойств json с именем, содержащим символ @
Мне нужно обновить пользовательский интерфейс до полимера 3, и полученные данные преобразуются из XML в JSON, прежде чем он достиг клиента.
на стороне клиента я использую шаблон Polymer3 для передачи значений базовым полимерным элементам.
поскольку XML хранит значения в атрибутах, My json возвращается следующим образом.
{
@type: "filter",
@target: "somevalue1",
@operator: "=",
@value: "4458"
},
{
@op: "Or",
@type: "filter",
@target: "somevalue2",
@operator: "=",
@value: "4828"
},
{
@op: "Or",
@type: "filter",
@target: "somevalue3",
@operator: "=",
@value: "2428"
}
теперь, когда я передаю это свойство в свой полимерный шаблон 3, как при индексировании, он рассматривает все это как текст и отображает на экране.
{{item['@op']}}
отображается на экране как есть. Кроме того, я не могу использовать его следующим образом
{{item.@op}}
Я не знаю, рассматривается ли @ как код, но весь текст, включая скобки {{}}, отображается на экране.
Как обращаться с этими свойствами.
Я не могу преобразовать его в другой читаемый объект, потому что пользовательский интерфейс уже требует времени для рендеринга из-за <\ vaadin-select> и json будет повторяться внутри вложенного объекта.
1 ответ
Повторная публикация моего комментария как ответа для лучшего обзора
item['@op']
может не работать в
dom-repeat
но работает в
handleResponse function()
Попробуйте присвоить значение obj ответа для
this
,
т.е.
this.opVal= item['@op']
И в
render
html., привязать значение как
[[opVal]]