我有一个计算属性,在它内部有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
时,它不起作用。
我如何使其工作? 谢谢。
答案 0 :(得分:2)
根据文档,您可能应该使用观察者:https://vuejs.org/v2/guide/computed.html#Watchers
在这种情况下,使用watch选项可以让我们执行 异步操作(访问API),限制了我们执行的频率 该操作,并设置中介状态,直到获得最终结果 回答。计算属性不可能做到这一点。