【Vue3】vue3+TS 组件导出

vue3+TS 组件导出

  • vue3.0+

  • TypeScript

    1. vue2.0中常用方法,不推荐
    2. 配合shims-vue.d.ts进行组件定义和注册
      【注意】:导入组件时需加上‘.vue’后缀
      import LaMenu from "@/components/Menu.vue";
    3. 目前vue-class-component不支持vue3.0组合API写法,不建议使用
    // vue3.0+TypeScript使用时的一些小坑
    // 【三种定义方式在Vue3.*+Ts】
    
    /*******************************************************************/
    // 【1.直接导出】
    export default{
    	name: 'myComponent'
    }
    /*******************************************************************/
    
    
    /*******************************************************************/
    // 【2.使用defineComponent导出】
    import {defineComponent} from 'vue'
    export default defineComponent({
    	name: 'myComponent'
    })
    /*******************************************************************/
    
    /*******************************************************************/
    // 【3.使用vue-class-component】
    import Vue from 'vue'
    import Options from 'vue-class-component'
    
    // Define the component in class-style
    // 最新版Component注解已经改为Options
    @Options({
      computed: mapGetters([
        'posts'
      ]),
    
      methods: mapActions([
        'fetchPosts'
      ])
    })
    export default class Counter extends Vue {
    	property: number;
    	method(){}
    }
    /*******************************************************************/
    
    
posted @ 2020-11-27 11:57  kudo_shini  阅读(5326)  评论(0编辑  收藏  举报