2017年2月26日 14:59:34 星期日
场景:
jquery的$.post, $.get是$.ajax的封装, 是异步的
因此, 有肯能在初始化vue实例的时候, 异步请求的结果还没返回, 这就导致vue不能渲染dom
解决方法是:
1. 先初始化vue对象, 关键点是, 要把随后要用到的变量留空;
2. 再调用jquery远程请求接口, 重新赋值给vue
代码:
1 var vm = new Vue({ 2 el: '#addArticle', 3 data: { 4 cat_list: '', 5 top:'' 6 } 7 }); 8 $.get(cats_url, function (msg) { 9 vm.cat_list = msg.result; 10 }); 11 12 $.get(top_url, function (msg) { 13 vm.top = msg.result; 14 });