Что вызывает ошибку между этими двумя .bindPopup?

#leaflet #popup

#листовка #всплывающее окно

Вопрос:

Приведенное ниже всплывающее окно работает правильно, отображая «Neigh_Name» (имя, такое как «Main») и «Общее население 2020» (строка, состоящая из чисел «234273» и т. Д.).

 layer.bindPopup(feature.properties.Neigh_Name "<br>" feature.properties["2020 Total Population"])
  

Однако при использовании приведенного ниже..

 layer.bindPopup(feature.properties["2020 Total Population"])
  

Я получаю сообщение об ошибке: Uncaught TypeError: не удалось выполнить ‘appendChild’ на ‘Node’: параметр 1 не имеет типа ‘Node’.

Может кто-нибудь объяснить, что происходит в серверной части и почему эти две строки кода отличаются, а последняя в конечном итоге терпит неудачу? Я пытаюсь понять, почему происходят определенные вещи, чтобы избежать будущих проблем.

Спасибо!

Ответ №1:

Очень вероятно bindPopup , что метод ведет себя неожиданно при передаче числа в качестве содержимого (ваша 2-я строка), тогда как он с радостью принимает строковый аргумент (как в вашей 1-й строке).

Просто убедитесь, что вы преобразовали свой аргумент в строку, например, с "" feature.properties["2020 Total Population"] помощью или

 `${feature.properties["2020 Total Population"]}`
  

Комментарии:

1. Ах, это имеет логический смысл и было подтверждено после реализации вашего исправления. Gracias!