Rumah  >  Soal Jawab  >  teks badan

vue-test-utils + jenis skrip taip untuk wrapper.vm

Berikut adalah soalan. Telah menggunakan typescript + vue-test-utils dan cuba memanipulasi nilai ujian, contohnya: wrapper.vm.aCoolRefValueToManipulate = '更酷的东西'?

Nah, saya mencubanya. Ia berfungsi, tetapi linter ts menjadi gila pada yang ini kerana ia tidak tahu apa itu vm 中的 aCoolRefValueToManipulate.

Ada sesiapa tahu bagaimana untuk menyelesaikan masalah ini?

linter memberitahu saya:

Property 'showTopDown' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<{}>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch(source: string | Function, cb: Function, options?: WatchOptions<...> | undefined): WatchStopHandle; } & Readonly<...> & Sha...'.ts(2339)

Penyelesaian

Beberapa lelaki hebat membantu saya menggunakan pelayan Vue Discord rasmi.

(wrapper.vm as any).aCoolRefValueToManipulate 

P粉054616867P粉054616867298 hari yang lalu483

membalas semua(1)saya akan balas

  • P粉476046165

    P粉4760461652023-12-27 00:14:05

    Adakah kita mempunyai cara lain untuk mengakses wrapper.vm tanpa menggunakan "mana-mana"?

    Saya baru jumpa benda ni untuk dicuba:

    type TestWrapper<T> = VueWrapper<ComponentPublicInstance & T>
    let wrapper: TestWrapper<Partial<{ myMethod: () => void }>>
    
    wrapper.vm.myMethod?.()

    balas
    0
  • Batalbalas