如何在axios请求中的计算属性内返回数据

时间:2019-03-26 18:59:12

标签: javascript vue.js vuejs2 vue-component

我有一个计算属性,在它内部有axios调用。计算出的属性,我需要使用<div id="header"> <div id="logo"> <img id="logo" src="your-choice-logo.jpg"> </div> <nav class="topnav" id="myTopNav"> <ul> <li><a class="active" href="#welcome-section">Home</a></li> <li><a href="#scheduling">Make Appointment</a></li> <li><a href="#contact-us">Contact Us</a></li> <li><a href="#services">Services</a></li> <li><a href="#gallery">Gallery</a></li> <li><a href="#reviews">Reviews</a></li> <li><a href="#areas-served">Areas Served</a></li> <li><a href="#facebook">Facebook</a></li> <li class="icon"> <a href="javascript:void(0);" onclick="myFunction()"> <i class="fa fa-bars">=</i></a> </li> </ul> </nav> </div>循环显示结果。

我的计算属性如下所示。

v-for

当我尝试使用 computed:{ managers(){ axios.post('/dispatcher/managers',{ 'catId':this.catId, 'route':this.filters.selectedRoute, 'date':this.filters.selectedDate, 'manager':this.filters.selectedManager }).then(response=>{ return response.data; }).catch(err=>{}) } } 循环managers时,它不起作用。

我如何使其工作? 谢谢。

1 个答案:

答案 0 :(得分:2)

根据文档,您可能应该使用观察者:https://vuejs.org/v2/guide/computed.html#Watchers

  

在这种情况下,使用watch选项可以让我们执行   异步操作(访问API),限制了我们执行的频率   该操作,并设置中介状态,直到获得最终结果   回答。计算属性不可能做到这一点。