как выбрать теневые корневые элементы - PullRequest
0 голосов
/ 26 апреля 2018

При использовании полимера у меня проблема с выбором элемента по имени тега.

<canvas id="chart" width="150" height="150"></canvas>

.

..

...

_drawChart(price, time) { var ctx = this.$.canvas.getContext('2d'); //error happened here

.

..

...

}

сейчас this.$.canvas.getContext('2d'); возвращает ошибку в консоли, Uncaught TypeError: Cannot read property 'canvas' of undefined.

Я пошел, чтобы выбрать элемент вручную из консоли, с помощью getElementById он возвратил значение null, отметив, что холст находится в дереве теневого корня.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

this.shadowRoot.getElementById("chart").getContext('2d'); тоже работает.
Немного дольше, но более родной.

0 голосов
/ 26 апреля 2018

Попробуйте this.$.chart.getContext('2d'); вместо this.$.canvas.getContext('2d');

...