1、在Vue原型或window上添加属性

declare module 'vue/types/vue' {
  interface Vue {
    int: any
  }
}

declare global {
  interface Window {
    globalConfig: any
  }
}

2、调用$refs上的某个方法

public $refs!: {
    childRight: HTMLFormElement
    childLeft: HTMLFormElement
}

3、动态设置style要加类型断言

document.getElementById('pre-start')!.style.display = 'none'

4、使用this.$route和this.$router

import VueRouter, {Route} from 'vue-router';


declare module 'vue/types/vue' {
    interface Vue {
        $router: VueRouter
        $route: Route
    }
}

5、全局注册组件

声明name

@Component({
  name: 'pie',
  components: {}
})

将componentConfig.default.name改为componentConfig.default.options.name

import Vue from 'vue'
// 找到路径
const requireComponent = require.context('./', true, /.vue$/)
// 找到组件文件夹下以.vue命名的文件,如果文件名存在,那么取组件中的name作为注册的组件名
requireComponent.keys().forEach((filePath) => {
  // 组件实例
  const componentConfig = requireComponent(filePath)
  const componentName = componentConfig.default.options.name
  Vue.component(componentName, componentConfig.default || componentConfig)
})
Logo

前往低代码交流专区

更多推荐