Maison  >  Questions et réponses  >  le corps du texte

vue-test-utils + type dactylographié pour wrapper.vm

Voici une question. Avoir utilisé typescript + vue-test-utils et essayé de manipuler les valeurs du test, par exemple : wrapper.vm.aCoolRefValueToManipulate = '更酷的东西'?

Eh bien, je l'ai essayé. Ça marche, mais le ts linter devient fou sur celui-là car il ne sait pas ce que c'est vm 中的 aCoolRefValueToManipulate.

Est-ce que quelqu'un sait comment résoudre ce problème ?

linter m'a dit :

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)

Solution

Des gars sympas m'ont aidé sur le serveur officiel Vue Discord.

(wrapper.vm as any).aCoolRefValueToManipulate 

P粉054616867P粉054616867298 Il y a quelques jours487

répondre à tous(1)je répondrai

  • P粉476046165

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

    Avons-nous un autre moyen d'accéder à wrapper.vm sans utiliser « any » ?

    Je viens de trouver ce truc à essayer :

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

    répondre
    0
  • Annulerrépondre