[Vue + TS] Write a Vue Component as a Class in TypeScript
Vuetypescript in Class as Component Write TS
2023-09-14 08:59:18 时间
Starter app: https://github.com/alexjoverm/Vue-Typescript-Starter
Writing Vue components as plain objects has very limited capabilities for TypeScript’s IntelliSense. This lesson will show you how to write components as classes to take full potential of TypeScript static typing by using vue-class-component.
Install:
npm install --save vue-class-component
Original file:
<template> <div class="hello"> <h1>{{ message }}</h1> <button @click="clicked">Click</button> </div> </template> <script lang="ts"> export default { data () { return { message: 'Welcome to Your Vue.js App' } }, computed: { fullMessage(){ return `${this.message} from Typescript`; } }, created() { console.log('created'); }, methods: { clicked(){ console.log('clicked'); } } } </script>
- Everything inside "data" mapping to props in class.
- Everything inside "computed" mapping to get method
- "created" lifecycle hook is just a function
- Everything inside "methods" are also just functions.
<template> <div class="hello"> <h1>{{ message }}</h1> <button @click="clicked">Click</button> </div> </template> <script lang="ts"> import Vue from 'vue' import Component from 'vue-class-component' @Component({}) export default class Hello extends Vue { message: string = 'Welcome to Your Vue.js App' get fullMessage() { return `${this.message} from Typescript` } created() { console.log('created'); } clicked(){ console.log('clicked'); } } /* export default { data () { return { message: 'Welcome to Your Vue.js App' } }, computed: { fullMessage(){ return `${this.message} from Typescript`; } }, created() { console.log('created'); }, methods: { clicked(){ console.log('clicked'); } } }*/ </script>
相关文章
- 哪些vue面试题是经常会被问到的
- vue 加载页面时触发时间_Vue 刷新页面时会触发事件吗「建议收藏」
- vue 修改引入组件的样式_vue子组件的子组件布局
- vuex的五大核心_vue如何实现跨域
- vue-cli 初始----安装运行Vue项目
- Vue 子组件调用父组件的属性,方法「建议收藏」
- 一份vue面试考点清单
- vue前端ui框架_详细讲解帕米尔的春天
- Vue和vue全家桶有什么区别_Vue和vue全家桶有什么区别
- Vue 3 + Typescript + Vite 基于jsplumb流程设计和流程流转
- 2023前端二面必会vue面试题指南4
- 每日一题之Vue的异步更新实现原理是怎样的?_2023-02-23
- 安装Vue on Linux:轻松搭建开发环境(linux安装vue)
- Vue技术实现访问远程Redis的精彩之旅(vue访问远端redis)
- Vue结合Redis,加快数据读取速度(vue读取redis)
- Vue用Redis储存获取数据(vue获取redis)
- Vue实时监测Redis变化(vue监控redis变化)
- Vue如何连接Redis(vue怎么连接Redis)
- Vue结合Redis实现性能优化(vue引入redis)
- 从零开始Vue项目中使用Redis(vue使用redis)
- Vue中触发Redis订阅通知(vue中订阅redis)