typescript - 如何使用 TypeScript 在 Vue2.x 类组件中正确注释
问题描述
我采用了我的项目@vue/composition-api
// main.ts
import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'
Vue.use(VueCompositionApi)
但是setup()
在类组件中设置时,
<template>
<h1>{{ name }}</h1>
</template>
<script lang="ts">
import { ComputedRef, ref } from '@vue/composition-api'
import { Component, Vue } from 'vue-property-decorator'
function useName(): { name: ComputedRef<string> } {
const name = ref('Joe')
return { name }
}
@Component({
setup() {
const { name } = useName()
return { name }
}
})
export default class TestName extends Vue {}
</script>
我知道这来自data
类组件中常规字段中缺少的属性定义。但是通过使用@vue/composition-api
,我们实际上不需要设置data
属性。
有没有人知道如何解决这个问题。
解决方案
您的代码在Vue项目中正常运行,但您的浏览器控制台屏幕截图显示您正在使用Nuxt。
要在 Nuxt 中使用 Composition API,请安装@nuxtjs/composition-api
(其中包括@vue/composition-api
,因此需要显式安装):
npm i -S @nuxtjs/composition-api
然后在 中nuxt.config.js
,将其添加为构建模块:
module.exports = {
buildModules: [
'@nuxtjs/composition-api/module'
],
}
推荐阅读
- javascript - 返回时反应状态更改不显示更改
- android - 在不重复问题的情况下在数组中获取随机问题
- python - 如何使用 Klepto 包 Python
- php - Symfony4:在生产服务器上访问 DEV 环境
- amazon-web-services - Amazon Elastic Block Store 和 EC2 驱动器
- asp.net-core - 设置环境变量
- mysql - MySQL查询“in(a,b,c)”,如何以相同的顺序(a,b然后c)返回元素?
- spotfire - 强制用户从过滤器 spotfire 中仅选择一个值
- python - 使用 python gdal 从数组创建投影栅格
- php - sql数组只输出最后一个答案