鍍金池/ 問(wèn)答/Android  HTML/ vue用created鉤子調(diào)用methods中的方法?

vue用created鉤子調(diào)用methods中的方法?

代碼如下:
new Vue({
methods: {

post: function (url, data) {
  $.ajax({
    type: 'POST',
    url: '....'+url+'.ashx',
    data:data,          
 })
}

},
created () {

this.post('XXX', 'XXX').done(function(res){
  console.log(res)
})

}
})
報(bào)錯(cuò):this.post(...) is undefined
對(duì)vue不夠了解,這里為什么不能調(diào)用methods的post方法,因該怎么寫才能拿到post方法,求高手指點(diǎn)

回答
編輯回答
陌上花

this.post在 created 是可以調(diào)用到的, 你的 done 這里是否存在問(wèn)題

附 vue 組件生命周期
clipboard.png

2017年9月8日 20:46
編輯回答
愛(ài)是癌

你的代碼里post()沒(méi)有返回值啊,也就是undefined,所以調(diào)用done()報(bào)錯(cuò)啦。

2018年8月18日 09:57
編輯回答
貓館
new Vue({
    methods: {
        
        post: function (url, data) {
          return new Promise(function(resolve, reject) {
              $.ajax({
                type: 'POST',
                url: '....'+url+'.ashx',
                data:data,
                success: function(res) {
                    resolve(res);
                }         
             })
          });
        }
    },
    created () {
        this.post('XXX', 'XXX').then(function(res){
          console.log(res)
        });
    }
});
2017年6月23日 03:54