首页 文章

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

提问于
浏览
1

感谢您阅读我的问题 .

我已经读过我的问题

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

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

我有一个vue组件调用app.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) {

            })
            ...

提前致谢!

2 回答

  • 8

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

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

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

    对于

    import VueResource from "vue-resource"
    

    并使用

    Vue.use(VueResource);
    

    然后,在我的app vue组件中,我改变了

    Vue.http.post
    

    对于

    this.$http.post
    

    那样我们修正了错误!

  • 0

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

相关问题