typescript - vue 3 typescript Uncaught (in promise) TypeError: this.$on is not a function
问题描述
我安装了带有 vue-cli 和 typescript 的全新 Vue 3。一切都在运行,但是当我添加https://vue-select.org/包时,我在浏览器控制台上收到此错误
Uncaught (in promise) TypeError: this.$on is not a function
at Proxy.created (vue-select.js?4a7a:1)
at callWithErrorHandling (runtime-core.esm-bundler.js?5c40:155)
at callWithAsyncErrorHandling (runtime-core.esm-bundler.js?5c40:164)
at callHook (runtime-core.esm-bundler.js?5c40:3182)
at applyOptions (runtime-core.esm-bundler.js?5c40:3109)
at finishComponentSetup (runtime-core.esm-bundler.js?5c40:7265)
at setupStatefulComponent (runtime-core.esm-bundler.js?5c40:7190)
at setupComponent (runtime-core.esm-bundler.js?5c40:7117)
at mountComponent (runtime-core.esm-bundler.js?5c40:5115)
at processComponent (runtime-core.esm-bundler.js?5c40:5090)
简单的例子
Home.vue
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<vSelect :options="[{label: 'Canada', code: 'ca'}]"></vSelect>
</div>
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
import HelloWorld from '@/components/HelloWorld.vue'; // @ is an alias to /src
import vSelect from 'vue-select';
@Options({
components: {
HelloWorld,
vSelect
},
})
export default class Home extends Vue {}
</script>
解决方案
我认为这个问题与 Vue3 无关。它与打字稿有关。只需添加此包@types/vue-select
。此包包含vue-select
. 此外,如果您将 webpack 用于打包程序,请不要忘记添加此包@types/webpack-env
。它包含 webpack 的类型定义。
推荐阅读
- loops - 循环输入组件 x86
- javascript - 根据地理定位限制我的代码在网页上加载的次数 - javascript
- android - 9-Patch drawable 在 Android Studio 布局编辑器中显示不正确
- python - 基于度数更改节点大小的AttributeError
- python - 读取、导入和处理保存为 .dat 的图像
- azure - 是否可以强制 Azure IoT 中心将 blob 保存为内容类型 application/json
- c++ - QGraphicsView 在调整大小大于起始宽度时剪辑图像
- java - 如何获取 SSLHostConfig?
- python - 从时间序列数据中过采样一些类
- jenkins - jenkins 中的 kubernetes 插件不起作用,测试连接失败