您好,欢迎来到微智科技网。
搜索
您的当前位置:首页如何在vue中使用ts开发

如何在vue中使用ts开发

来源:微智科技网

用了这么久的vue,终于踏出第一步使用ts去开发,发现真的是一时用ts一时爽,一直用ts一直爽。所以今天大概说一下怎么用ts简单开发。

1.首先,更改一下webpack配置

需要注意一点的是在导入vue文件的时候,要写上.vue后缀,因为TypeScript默认识别ts文件。

2. 改造一下vue文件

在这之前我们需要安装一个插件 vue-property-decorator,是在 vue-class-component 上增强了更多的结合 Vue 特性的装饰器,新增了一些装饰器。

src/app.vue

 [lang="ts",让webpack把这段代码识别为ts,除了需要改造一下script标签内的内容,其他地方都无需修改]

<template>  
    <div id="app">    
        <router-view></router-view>  
    </div>
</template>

<script lang="ts">
    import { Component, Vue } from 'vue-property-decorator';
    @Componentexport 
    default class App extends Vue {  
        private created() {    
            // 不需要保持当前路由,则前往首页    
            if (!location.hash.includes('keepRoute=true')) {      
                this.$router.push({ path: '/' });    
            }  
         }}
</script>

<style>
@import "./assets/css/main.css";
@import "./assets/css/color-dark.css"; /*深色主题*/
</style>复制代码

下面举例一下常用的装饰器使用

<script lang="ts">
import Test from './test.vue';
import { Component, Prop, Provide, Vue, Watch  } from 'vue-property-decorator';
// 引入组件 即使没有使用组件也得书写 @Component,里面为空即可。
@Component({    
    components: {      
        Test    
    },  
})

 export default class Home extends Vue {
  // Prop  
    @Prop({}) private config: object = {};

  // data   
    private side: boolean = false;
    private list: object = {};
  
 //  Watch
    @Watch('config')  
    onConfigChanged(val: any, oldVal: any) {    
        this.init();  
    }}

  // 生命周期
    private created(){
        this.init();
    }

  // 方法
    private init(){
        console.log('halo');
    }
</script>复制代码

其他的文件也是参照方式去修改即可。

最后重新运行就行了。


转载于:https://juejin.im/post/5ccadfa76fb9a032060c3669

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务