source

Vue 증강 유형 - XYZ가 유형에 없습니다.

goodcode 2022. 8. 19. 20:48
반응형

Vue 증강 유형 - XYZ가 유형에 없습니다.

vue 클래스 컴포넌트를 typescript와 함께 사용하고 있는데 서드파티 모듈을 사용하려면 type을 증강해야 합니다.

요소

export default class TestComponent extends Vue  {

   private created() {
     this.$snotify.success('test')
   }
}

shims.d.ts

import Vue from 'vue'
import { Snotify } from 'vue-snotify'

declare module 'vue/types/vue' {
    interface VueConstructor {
      $snotify: Snotify
    }
  }

"Test Component 유형에 속성 $snotify가 없습니다."

Vue.$snotify는 존재하지만 이것은 존재합니다.$snotify가 Vue를 확장해도 Vue가 확장되지 않음

내가 어디가 잘못됐지?

확장해 보겠습니다.Vue대신 타이핑하다VueConstructor:

declare module 'vue/types/vue' {
  interface Vue {
    $snotify: Snotify
  }
}

승인된 답변은 실제로 작동하지 않는 것 같습니다.대신 관련된 vue-snotify GitHub 문제에 대한 @RomainLanz의 답변을 확인하십시오.

import Vue from 'vue'
import { SnotifyService } from 'vue-snotify/SnotifyService'

declare module 'vue/types/vue' {
  interface Vue {
    $snotify: SnotifyService
  }
}

같은 것을 검색할 때 나타나는 페이지 중 하나였기 때문에 여기에 이 답변을 추가합니다.

언급URL : https://stackoverflow.com/questions/52310908/vue-augmented-types-xyz-does-not-exist-on-type

반응형