@Max9999

Как массово инициализировать dropdown в vue?

Здравствуйте.
vue + materializecss. Я в цикле вывожу блоки с dropdown.
<a class=""  href="#" :ref="'dropdown' + post.index" v-bind:data-target="'dropdown' + post.index" > <i class="material-icons">visibility</i></a>
    <ul v-bind:id="'dropdown' + post.index"  class="dropdown-content">
        <li>...</li>
    </ul>

Нужно их всех проинициализировать
mounted() {
   M.Dropdown.init( this.$refs.dropdow?, {
    hover: true
  })
 },

Как сделать?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Тупой вариант: как в циклом выводите, так в цикле инициализируйте(при v-for в this.$refs.dropdow лежит массив).
Правильный вариант: сделать отдельный компонент m-dropdown, который внутри проводит всю нужную инициализацию и расставляет нужную вёрстку, после чего подключать циклом именно этот компонент.
Идеальный вариант: использовать либы написанные на vue, дабы избежать лишнего оверхеда.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
polyak-888
@polyak-888
Js, React.js, css, frontend
я думаю есть еще вариант использовать директивы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы