无法读取未定义的 vue 属性 'post'

Cannot read property 'post' of undefined vue

感谢阅读我的问题。

我已了解我的问题

VUE JS 2 + WEBPACK Cannot read property 'get' of undefined VUE RESOURCE

但是我的系统无法读取 Vue var :(

我有一个 vue 组件调用 app.vue,我需要使用 vue-resource 从我的 post 获取数据。但是很多时候的错误是:

TypeError: Cannot read property 'post' of undefined
at VueComponent.loadingProcess

你有解决的办法吗?

我的app.vue

<script>
    var Vue = require('vue');
    //Vue.use(require('vue-resource'));
    //Vue.use();

    export default {
          data () {
                return {
                    msg: 'Hello from vue-loader! nice!',
                    user: {}
            }
    },
    mounted: function () {
        this.loadingProcess();
    },
    methods: {
        loadingProcess: function () {

            var urlPost;
            var answQSend = {...};
            var that = this;

            var jsonSend = {
                "form_data": answQSend,
                "prod_id": 3
            };

            Vue.$http.post(urlPost, jsonSend, {
                "headers": {
                    "content-type": "application/json"
                }
            })
            .then(function(response) {

            })
            ...

提前致谢!

首先感谢@Bert 耐心的帮我找到解决方案

在我的 main.js 中,我更改了这一行

var VueResource = require('vue-resource');

import VueResource from "vue-resource"

并使用

Vue.use(VueResource);

然后,在我的应用程序 vue 组件中,我更改了

Vue.http.post

对于

this.$http.post

这样我们就修正了错误!

您使用的是 export default 脚本,因此您的 this 关键字无法访问 Vue 实例原始模块,而是可以访问导入的对象组件。最有可能的情况是,对于 require,vue-resource 仅可用于该原始模块,因此使用 import VueResource from "vue-resource",使用 es6 语法,vue-resource 库在它被调用之前与内部模块一起被提升与 Vue 实例一起评估并缓存在浏览器上。在某些情况下,人们不使用箭头函数并超出范围。 另一种选择是使用 Vue 实例本身而不是导出默认对象。看看 http://voidcanvas.com/import-vs-require/ 你可能会比我从中得到更多。