在使用TS时,组件需要用defineComponent
,不用CompositionApi
,使用this.$store
报错是ts类型检测报错。没有$store的类型声明。解决办法如下
ts
import { ElMessage } from 'element-plus';
import type { Store } from 'vuex';
import { IMessage } from 'element-plus/lib/el-message/src/types';
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$store: Store<any>;
$message: IMessage;
}
}
const app = createApp(App);
app.use(store).use(router);
app.config.globalProperties.$store = store;
app.config.globalProperties.$message = ElMessage;
app.mount('#app');