Я использую модуль "vue -masonry", который не имеет @types. Я хочу использовать this.$redrawVueMasonry('containerId')
для перерисовки компонента. Я не мог найти, как объявить этот метод в vuefile моего typcript-nuxt-проекта. Где я могу исправить?
Я попытался сделать masonry.d.ts для окружающих объявлений. (Такой же слой, как tsconfig.json)
declare module 'vue-masonry' { // declare as external module
export function $redrawVueMasonry(i: string): void;
}
, тогда я позвонил это в vue файле ( запрос. vue)
<template>
<v-row v-masonry="containerId" transition-duration="0s">
<v-col
v-for="(request, i) in requests"
:key="i"
v-masonry-tile
>
<request-content-card
:request="request"
/>
</v-col>
</v-row>
</template>
<script lang="ts">
.
.
.
@Watch('requests')
redrowMasonry() {
this.redrowMasonry('containerId')
}
</script>
Согласно vue -mansonry , я должен быть в состоянии использовать this.$redrawVueMasonry('containerId')
с аргументом, но получил ошибку Vetur Expected 0 arguments, but got 1.
. vutur error image как я могу объявить с аргументом вроде 'containerId'?
моя vue -машина версии равна 0.11.8, и у меня есть простой файл masonryfile ( masonry. js)
import Vue from 'vue'
import { VueMasonryPlugin } from 'vue-masonry'
Vue.use(VueMasonryPlugin)