鍍金池/ 問答/HTML/ vue無(wú)法獲取值的問題

vue無(wú)法獲取值的問題

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

但是為什么以下代碼加一個(gè)定時(shí)器就可以執(zhí)行

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

                    app.thisProductNewPrice=response.data[0].NewPrice;
                });
            },1000);
回答
編輯回答
負(fù)我心

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

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

從你的描述上看,app 應(yīng)該是在 axios 后才被定義,或者 app 是一個(gè)異步加載的對(duì)象。你通過 setInterval 把 axios 的執(zhí)行延遲了,所以 app 出來(lái)了,axios 不報(bào)錯(cuò)了

2017年3月22日 09:00