Как использовать ember-листовку с помощью ember-cli 2.6.2? - PullRequest
0 голосов
/ 15 мая 2019

Итак, я скачал аддон https://miguelcobain.github.io/ember-leaflet/docs/container, который называется ember-leaflet. Используемая мной версия ember-cli - 2.6.2. Вот мой код

  <LeafletMap lat=lat lng=lng zoom=zoom as |layers|>
    <layers.tile url="https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png"/>
  </LeafletMap>

Ошибка, которая была показана на моей консоли: ember.debug.js:2925 Uncaught DOMException: Failed to execute 'setAttribute' on 'Element': '|layers|' is not a valid attribute name.

Любой ответ высоко ценится

1 Ответ

1 голос
/ 16 мая 2019

Хорошо, так что если присмотреться к вашей проблеме, HTML-код, который вы разместили, неверен.Оно должно быть:

<LeafletMap @lat={{lat}} @lng={{lng}} @zoom={{zoom}} as |layers|>
  <layers.tile @url="https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png"/>
</LeafletMap>

При вызове угловой скобки вы должны использовать знак @ для передачи аргументов компоненту, который вы не делаете в своем примере.

Но давайте сделаем шаг назад.Вызов компонента угловой скобки был разрешен в 3.4 . Доступен polyfill , который необходимо установить, если вы используете версию 3.4 и хотите использовать вызов угловой скобки.В конце концов, вызов угловых скобок - это, в основном, синтаксическая разница (хотя, не поймите меня неправильно, есть улучшения).Нет необходимости использовать вызов угловых скобок в вашем старом приложении ember, несмотря на документацию листовки, в которой используется указанный синтаксис.У меня есть приложение 3.8 ember, которое не использует единственную угловую скобку, потому что у меня не было времени на конвертацию.

Вы могли бы так же легко использовать этот синтаксис и не пытаться использоватьpolyfill и дождитесь использования синтаксиса угловых скобок, пока не перейдете в 3.4 +

{{#leaflet-map lat=lat lng=lng zoom=zoom as |layers|}}
  {{layers.tile url="https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png"}}
{{/leaflet-map}}

Направляющие ember имеют руководство по преобразованию , которое вы можете использовать в качестве контрольной точки.Это не должно быть слишком сложно учиться.Я пишу, поддерживаю приложение Objective-C, и мне постоянно приходится конвертировать быстрый синтаксис в синтаксис Objective C, когда я смотрю на руководства, переполняем стек и т. Д. Это просто характер обслуживания и работы с устаревшим:)

...