Я знаю, как использовать masonry.js
помимо vue. Тем не менее, у меня возникла проблема с тем, чтобы он функционировал и корректно назывался внутри рамки vue. Я назвал его внутри созданного или готового, но ни один из них не получил правильную форму сетки. Как я могу заставить это работать внутри рамки? О, и у меня есть jquery, вызванный в html до этого script. Вот что у меня внутри компонента:
Edit:
Я вижу, что кладка выполняет сетку, назначая ее высоту с помощью JS и изменяя позиции на абсолютную позицию. Тем не менее, он не размещает их правильно. Его укладка их поверх каждой стороны вместо боковой стороны, как и в сетке.
<template>
<div class="projects--container">
<div class="inner-section inner--options">
<div class="grid">
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item"></div>
</div>
</div>
</div>
</template>
<script>
export default{
ready: function () {
this.mason();
},
data: function () {
return {
options: [
{
option: 'projects',
phrase: 'for clients',
slogan: 'slogan...'
},
{
option: 'sides',
phrase: 'for us',
slogan: 'we love what we make'
},
{
option: 'moments',
phrase: 'with the crew'
}
]
}
},
methods: {
revert: function () {
this.$dispatch('return-home', true)
},
mason: function () {
var $grid = $('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: 250
});
$grid.masonry('layout');
}
},
events: {
'option-select': function (option) {
}
}
}
</script>