vue无法获取值的问题

axios.get('__MODULE__/Point/getPointProduct', {
    params: {
        productno:app.pointproduct_no
    }
}).then(function (response) {

    app.thisProductNewPrice=response.data[0].NewPrice;
});
        
        
        app.pointproduct_no获取不到值
        

clipboard.png

clipboard.png

但是为什么以下代码加一个定时器就可以执行

 setInterval(function(){
                axios.get('__MODULE__/Point/getPointProduct', {
                    params: {
                        productno:app.pointproduct_no
                    }
                }).then(function (response) {

                    app.thisProductNewPrice=response.data[0].NewPrice;
                });
            },1000);
阅读 1.4k
1 个回答

把 axios 的代码放到 app 的 created 勾子中。如下:

const app = new Vue(
    {
        data: {...},
        created() {
            // axios 的代码放在这里
        }
    }
);

从你的描述上看,app 应该是在 axios 后才被定义,或者 app 是一个异步加载的对象。你通过 setInterval 把 axios 的执行延迟了,所以 app 出来了,axios 不报错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题