내 응용 프로그램에서 석조물을 사용하려고합니다. 다음은 구성 요소 템플릿입니다.벽돌은 기능이 아닙니다.
<template>
<div>
<section class="section">
<div class="container">
<div class="row team">
<div class="col-md-4 col-sm-6 member" v-for="team in teamMembers">
<div class="team__item">
<div class="team__info">
<h4>{{team.name}}</h4>
<small>{{team.title}}</small>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</template>
<script src="https://unpkg.com/[email protected]/dist/masonry.pkgd.min.js"></script>
<script>
export default {
data() {
return {
teamMembers: []
}
},
mounted() {
this.getTeamMembers();
},
methods : {
getTeamMembers : function() {
this.$http.get('teamMembers').then(response =>{
// console.log(response);
if(response.data.status=200) {
this.teamMembers = response.data.teamMembers;
this.$nextTick(function() {
var $container = $('.team');
$container.masonry({
columnWidth: '.member',
itemSelector: '.member'
});
})
}
})
}
}
}
</script>
보기가 렌더링 될 때마다 다음과 같은 오류가 발생합니다.
TypeError: $container.masonry is not a function
내가 여기서 잘못하고있는 것을 알려주시겠습니까?
하나의 파일 구성 요소에'script'를 포함시킬 수 있는지 확신하지 못합니다. 나는 npm을 통해 masonary를 설치해야하고, 메인 js 파일에 vue 접근을 요구하도록 masonary를 설치할 필요가 있다고 생각한다. –
단일 파일 구성 요소의 중간에 그런 스크립트 태그를 넣을 수 없습니다. –
스크립트 태그를 index.html로 이동하고 창을 시도하십시오. $ ('. team') – Deepak