【问题标题】:Cannot read property 'post' of undefined vue无法读取未定义 vue 的属性“帖子”
【发布时间】:2017-09-24 14:28:32
【问题描述】:

感谢您阅读我的问题。

我已经阅读了我的问题

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

但是我的系统没有读取 Vue var :(

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

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) {

            })
            ...

提前致谢!

【问题讨论】:

    标签: webpack vue.js components vue-resource


    【解决方案1】:

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

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

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

    import VueResource from "vue-resource"
    

    并使用

    Vue.use(VueResource);
    

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

    Vue.http.post
    

    对于

    this.$http.post
    

    这样我们就修复了错误!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-06-29
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        • 2019-01-17
        • 1970-01-01
        • 2019-01-30
        • 2020-06-16
        • 2016-07-06
        相关资源
        最近更新 更多