Как я могу установить innerHTML элемента в Polymer 3? - PullRequest
0 голосов
/ 06 июля 2018

В моей строке шаблона у меня есть тег p. Как я могу установить его innerHTML с переменной?

Допустим,

Let myVar = ”<b>Hello</b> there”;
<p id=”myPara”>${myVar}</p>

Когда я оборачиваю myVar внутри тега p, формат html на самом деле не работает

<p>${myVar}</p> 

Ответы [ 3 ]

0 голосов
/ 23 июля 2018

Actuall myVar имеет ”<b>Hello</b> World”. Я хочу, чтобы текст поддерживал HTML.

Важная информация выше.

Это своего рода чит, но все элементы в HTML получили свойство innerHTML.

Попробуйте

<p id=”myPara” inner-h-t-m-l="${myVar}"></p>
0 голосов
/ 23 июля 2018

Используйте appendchild для вставки содержимого в тег p.

let instance = this.$.myPara;
instance.appendChild('your markup');
0 голосов
/ 09 июля 2018

Вот тот же выпуск на официальном репо полимера-модулятор. Это может быть связано с этим, в шаблоне Polymer 2 docs :

Чтобы защитить от уязвимостей XSS, Polymer.html интерполирует только значения HTMLTemplateElement. Не шаблонные значения приведут к ошибке.

Я не уверен, как решить эту проблему, но кажется, что вы уже пытаетесь жестко закодировать innerHTML, почему бы не пойти дальше и использовать привязку свойств или просто жестко закодированный HTML, как этот?

<p id=”myPara”><b>Hello</b> there</p>

Какова ваша конкретная причина использования переменных в этом случае?

...