开发者社区> 问答> 正文

vue元素赋值无效 : 配置报错

最近使用vue.js的过程中遇到了,一个问题。用ajax请求后台的值给vue元素赋值之后属性值任然为空。搞了很久很不理解。 声明属性

data:{ q:{ tableName:null, count_date:null, p01:null, p02:null, }, showList: true, title: null, movaReport77: {}, colModel:{} }
赋值代码,其中vm为Vue的实例名:
getTableMsg:function () { $.get(baseURL + "movareport77/report/field/"+vm.q.tableName, function(r){ vm.colModel = r.tableMsg;

});
alert(JSON.stringify(vm.colModel));

}

第二段代码中弹出的内容是空值,但是如果我把弹出的方法体放到请求的回调函数里却可以弹出内容,如下代码元素vm.colModel的值为返回值。
getTableMsg:function () { $.get(baseURL + "movareport77/report/field/"+vm.q.tableName, function(r){ vm.colModel = r.tableMsg; alert(JSON.stringify(vm.colModel)); });

}

Vue的赋值机制

展开
收起
kun坤 2020-06-03 16:13:50 810 0
1 条回答
写回答
取消 提交回答
  • 那当然啦,ajax是不是异步的啊,你在外面肯定拿不到值啊######你写在$.get的回调里面,就是在ajax返回值后再alert,肯定可以拿到值啊######这是js异步的回调机制,和vue一点关系没有######异步,这个和vue没关系######ajax是异步请求 当请求还没完成 后面就alert当然是获取不到值

    2020-06-05 13:24:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
Vue.js在前端服务化上的实践与探索 立即下载
利用编译将 Vue 组件转成 React 组件 立即下载