Uncaught TypeError: не удается прочитать свойство 'trim' неопределенного после использования Polymer vulcanize

Мое приложение основано на Polymer-PSK+ и ES2015. Используя мою распределенную версию приложения, я получу следующую ошибку: Uncaught TypeError: Cannot read property 'trim' of undefined (elements.js line 5832)

Причина этого связана с «отсутствующими» свойствами элемента Polymer paper-input-container-underline, см.:

image

image

Присвоение properties[m[1]] не выполняется из-за (m[2] || m[3]).trim();: m[2] = "" and m[3] = undefined

Любые подсказки, как решить эту проблему и как использовать распределенную версию моего приложения?


person DoK    schedule 29.05.2016    source источник


Ответы (1)


В javascript как пустые строки (""), так и неопределенное значение считаются ложными значениями.

поэтому, когда вы пишете ("" || undefined), возвращаемое значение будет последним ложным значением, в данном случае неопределенным, и вы не можете выполнять вызовы методов для неопределенного значения.

об этом можно прочитать здесь.

person Sahar Zehavi    schedule 29.05.2016
comment
Скрипт elements.js представляет собой скомпилированный/сгенерированный скрипт из vulcanize. Так что у меня нет возможности изменить сгенерированный вывод (AFAIK) - person DoK; 29.05.2016
comment
В этом случае вам следует отредактировать заголовок вашего поста, он вводит в заблуждение. - person Sahar Zehavi; 29.05.2016