使用npx create-nuxt-app创建了nuxt应用。在https://typescript.nuxtjs.org处遵循了文档,但是在使用@vue/composition-api时遇到了问题:

示例component.vue:

<template>
  <div>
    {{ msg }}
  </div>
</template>

<script lang="ts">
import { createComponent, ref } from '@vue/composition-api'

export default createComponent({
  setup() {
    const msg = ref('hello')

    return {
      msg
    }
  }
})
</script>



不起作用,并引发错误“实例上未定义属性或方法“ msg”,但在渲染期间引用了该属性或方法。”因为看不到我的ref。我在“ plugins / composition-api.ts”中添加了Composition API作为插件:

import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'

Vue.use(VueCompositionApi)


然后在nuxt.config.ts中:

plugins: ['@/plugins/composition-api']

最佳答案

我的糟糕,忘记了nuxt中的TS运行时:

npm i -S @nuxt/typescript-runtime

然后,您需要更新package.json:https://typescript.nuxtjs.org/guide/runtime.html#installation

关于javascript - composition api不适用于Nuxt-TS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59677141/

10-13 04:39