目前,不合适,倒也不是说不行,就是绕,纠结。
因为vue是options-based,或者叫object-based(不是什么专业的名词,别纠结),而非class-based,意味着你的组件虽然来自Vue.extend,但它并非是一个class YourComponent extends Vue。
凡是生成类型的东西,搞TS就炒鸡麻烦,目前靠着@decorator续命,凑合凑合。
3.0现在还不知道具体API会弄成啥样,要搞TS就得支持extend出来,这样props, data, computed, methods, lifecycle……这一堆东西都是标准的类成员,自然就跟类型系统结合起来了。
楼上的高赞匿名用户的回答在我个人看来反而不是重点,template和TS friendly压根没啥关系,正是因为您“看了一下blog就关了”所以并没有了解到这一点,希望您不要被成见蒙蔽双眼。
vue3.0的工具链能为vscode提供类型服务,template里就一样可以获得完整的、带类型的Intellisense,这样的工具链,开发体验和工业强度不比TSX的低,V和VM的解耦程度则远胜TSX。
所以要我说啊,前端开发,它依然是一个HTML+CSS+JS三位一体的东西,搞react一派,或多或少都要带点“JS本位”的意思,谈HTML色变,有意思。