Как использовать Packery с Ember - PullRequest
0 голосов
/ 13 февраля 2019

Я только что начал ember и хочу использовать packery в качестве библиотеки макетов.Приложение ember было создано с помощью ember new wep-app.Пакет был установлен через npm install packery.В соответствии с управлением зависимостями ember , я могу загрузить Packery через app.import('node_modules/packery/js/packery.js')

. Как мне теперь использовать Packery?application.hbs выглядит так

<div class="grid">
   <div class="grid-item">cdsc</div>
   <div class="grid-item grid-item--width2">...</div>
   <div class="grid-item">...</div>
</div>

Но, похоже, не работает.В аналогичном вопросе кто-то упоминает о создании компонента ember g component packery-grid, который должен быть соответственно заполнен

import Component from '@ember/component';

export default Component.extend({
   classNames: ['grid'], 
   didInsertElement() {
   this.$('.grid').packery({
       // options
       itemSelector: '.grid-item'
       });
   }
 }); 

Используя компонент, шаблон application.hbs должен выглядеть следующим образом:

{{#packery-grid}}
<div class="grid-item">cdsc</div>
<div class="grid-item grid-item--width2">...</div>
<div class="grid-item">...</div>
{{/packery-grid}}

Однако это тоже не работает.Что мне делать, чтобы упаковка была интегрирована в ember?Я использую ember 3.5.1.

EDIT : для упаковки есть компонент ember: well , который также не работает.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019
  1. Глядя на github, я думаю, что node_modules/packery/js/packery.js - неправильный путь.Правильный должен быть node_modules/packery/dist/packery.pkgd.js.Вам нужно перезапустить ember serve после этого изменения, чтобы восстановить js
  2. Возможно, вам придется заменить this.$('.grid') на this.$()
0 голосов
/ 13 февраля 2019

Похоже, что packery - это плагин jQuery, а не модуль.Обычно импортируемые модули - это то, что импортируется.

Для плагинов jQuery их нужно загружать в тег скрипта, возможно, из вендора или из общих папок.(Я не знаю, можете ли вы использовать тег script в HTML из node_modules)

Но я настоятельно рекомендую вам проверить сетку CSS и не использовать упаковку.Плагины jQuery и jQuery неэргономичны

...