我有以下代码
<div id="vue-instance">
</div>
JS
var vm = new Vue({
el: '#vue-instance',
data: {
},
ready:function(){
this.loadCountries();
},
methods:{
loadCountries(){
this.$http.get('https://restcountries.eu/rest/v1/all',function(data){
console.log(data);
})
}
}
});
当我运行上面的代码时,它会给我以下错误
未捕获的TypeError:无法读取属性&#39; get&#39;未定义的
我有一个小提琴
非常感谢帮助
答案 0 :(得分:3)
$http.get
来自Vue Resource。通过vue-resource
添加package.json
并通过npm install
和代码安装
var Vue = require('vue');
Vue.use(require('vue-resource'));
要在小提琴中使用此功能,您必须在外部资源中添加vue-resource
cdn link并在代码中使用以下内容:
Vue.use(VueResource)
答案 1 :(得分:2)
要使用 $ http ,您必须先安装 vue-resource 中间件。您可以使用以下命令进行安装。
npm install vue-resource --save
安装完成后,转到 main.js 文件并导入 vue资源,如下所示
import vueResource from 'vue-resource'
现在已导入,因此我们只需调用 Vue 的使用方法即可使用此中间件。您可以按如下方式调用使用方法。
Vue.use(vueResource)
答案 2 :(得分:0)
由于你没有vue-resource的插件,你的这个。$ http是未定义的。 要在js-fiddle上添加Vue-resource,请将https://cdn.jsdelivr.net/g/vue@2.0.0-rc.4,vue.resource@1.0.0添加到外部脚本部分。
答案 3 :(得分:0)
我解决了以下模式的问题:
npm install bootstrap-vue --save
npm install vue-resource --save
在main.js中
import Vue from './bootstrap'
import BootstrapVue from 'bootstrap-vue'
Vue.use(BootstrapVue)
创建bootstrap.js
import Vue from 'vue'
import VueResource from 'vue-resource'
Vue.use(VueResource)
export { Vue }
在App.vue中
this.$http.get('/api/module/all').then(...
答案 4 :(得分:0)
从2019年10月开始,我使用了另一种方法。我首先使用NPM这样安装
npm install axios --save
我稍后在下面使用它,并且在下面执行此操作以消除错误。
import axios from 'axios';