vue2.5 typescript引入插件 报错
在vue2.5中用typescript开发,引入vue-resource插件时,会报 TS2339: Property 'http' does not exist on type 'VueConstructor<Vue>'. 看了下文档,应该要额外声明,但还是会报同样错误
vue-shims.d.ts
import Vue from 'vue'
declare module "*.vue" {
export default Vue;
}
declare module 'vue/types/vue' {
// 3. 声明为 Vue 补充的东西
interface Vue {
$http: string,
http:string
}
}
app.vue
<template>
<div id="app">
<hello></hello>
</div>
</template>
<script lang="ts">
import Vue from 'vue'
import Component from 'vue-class-component'
import Hello from './components/hello.vue';
import VueResource from "vue-resource";
Vue.use(VueResource);
@Component({
components: {
Hello
}
})
export default class App extends Vue {
mounted(){
//这里报错了
Vue.http.options.emulateJSON = true;
}
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
interface Vue
这是在往
Vue
的实例里面添加属性,你最后的引用是直接用Vue
这个构造函数了。如果你想用你这样
Vue.http
,那么你的全局声明应该在构造函数上:如果你不想改声明,那么你的代码就得这么改:
this.http
。