Как использовать ember-листовку с помощью ember-cli 2.6.2?

Итак, я скачал аддон 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. ember.debug.js:2925 Uncaught DOMException: Failed to execute 'setAttribute' on 'Element': '|layers|' is not a valid attribute name.

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

Всего 1 ответ


Хорошо, так что если присмотреться к вашей проблеме, 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 . Доступен полифильтр, который необходимо установить, если вы используете версию 3.4 и хотите использовать вызов угловой скобки. В конце концов, вызов угловых скобок - это, в основном, синтаксическая разница (хотя, не поймите меня неправильно, есть улучшения). Нет необходимости использовать вызов угловой скобки в вашем старом приложении ember , несмотря на документацию листовки, использующую указанный синтаксис. У меня есть приложение 3.8 ember, в котором не используется ни одна угловая скобка, потому что у меня не было времени на конвертацию.

Вы также можете легко использовать этот синтаксис, не пытаясь использовать полифилл, и подождать использования синтаксиса угловых скобок, пока не перейдете в 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, когда я смотрю на руководства, переполняем стек и т. Д. Это просто характер обслуживания и работы с устаревшим :)


Есть идеи?

10000