Декларации окружения Typescript с аргументом не работает - PullRequest
0 голосов
/ 16 февраля 2020

Я использую модуль "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)
...