Ajax請求放在Vue哪個生命周期中?
答案:mounted
vue本身不支持發送AJAX請求,需要使用vue-resource、axios等插件實現
axios是一個基於Promise的HTTP請求客戶端,用來發送請求,也是vue2.0官方推薦的,同時不再對vue-resource進行更新和維護
為什么不在 created 里去發ajax?created 可是比 mounted 更早調用啊,更早調用意味着更早返回結果,那樣性能不是更高?
首先,一個組件的 created 比 mounted 也早調用不了幾微秒,性能沒啥提高;
而且,等到異步渲染開啟的時候,created 就可能被中途打斷,中斷之后渲染又要重做一遍,想一想,在 created 中做ajax調用,代碼里看到只有調用一次,但是實際上可能調用 N 多次,這明顯不合適。
相反,若把發ajax 放在 mounted,因為 mounted 在第二階段,所以絕對不會多次重復調用,這才是ajax合適的位置.
