用了vue-cli3并开启了typescript,请问如何给data中的值声明类型。

<script lang="ts">
import Vue from 'vue'
import HelloWorld from '@/components/HelloWorld.vue'

export default Vue.extend({
    components: { HelloWorld },
    data () {
        return {
            bb: '123'
        }
    },
    watch: {
        bb (val: String) {
            console.log(val)
        }
    },
    props: {
        propA: Number
    },
    methods: {
        haha (a: String) {
            console.log(a)
        }
    },
    created () {
    }
})
</script>

目前除了data外的那些都可以正常运行了,唯独data里的内容如何声明类型还没有头绪,官方文档好像只给出了“基于类的Vue组件”的写法,但为了保持跟旧项目统一,目前不希望采用这种写法。

clipboard.png

阅读 12.4k
4 个回答

去看看vue-class-component

设置data函数的返回值的接口

data(): iData{
    return(
        a: ''
    )
}
interface iData{
    a: string
}
新手上路,请多包涵

可以这样写:
`

data(){
    const dataSource: ListItem[] = []
    return {
        dataSource
    }
}

`

bb: string = 'abc'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题