computed获取数据无法渲染图层

新手上路,请多包涵
 <div class="hos-whole">
 
  <div class="hos-list" v-for="(item,index) in hos_array" :key="index" :item="item" :index="index"> 
     <div class="namebox">
       <div class="hos-name">{{item.address}}</div>
         
       <div class="disdetail">
         <span class="distance">{{item.distance}}千米</span>
          <span>&nbsp·&nbsp</span>
          <span class="location">
            {{item.address}}
          </span>
       </div>
     </div>
     <div class="hoscall">
       <img src="../../../static/all/hosp_call_nor@2x.png" alt="">
     </div>
  </div>
  
 
  </div>
<script>
import QQMapWX from './../../components/qqmap-wx-jssdk.js'
const qqmapsdk = new QQMapWX({
  key:'IABBZ-K3B3G-W7BQE-IKL7U-WX3PK-HHBPD'
})


export default {
  data() {
    return {
     
    }
  },
  
   computed: {
    
    //搜索出附近医院 
  nearby_search(){
    let hos_array=[]
    //获取当前坐标
   wx.getLocation({
  type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
  success:(mes) => {
    const the_latitude = mes.latitude
    const the_longitude = mes.longitude
   
     console.log(the_latitude,the_longitude)
  }
})
    var _this = this;
    qqmapsdk.search({
    
       auto_extend:0,
      
       keyword: '医院',  //搜索关键词
  //设置周边搜索中心点
      success : (res) => {
        if(res && res.data){
         var hos_array = [];
          for(let i=0;i<=5;i++){
            hos_array.push({
              id:res.data[i].id,
              title:res.data[i].title,
              address:res.data[i].address,
              distance:res.data[i]._distance,
            })
            //控制台可以看到这些数据
            console.log(hos_array[i])
          }
        
        }
      },
      fail:(res)=>{
         console.error(res)
      },
       complete: function (res){  
        console.log(res);
      }
    })
   return hos_array 
  }
  
 },
 mounted() {
  
  
 },
 
 
  
}
</script>

图片描述


console控制台有hos_array的数据产生 但是无法渲染到页面 为什么呢

阅读 3.5k
1 个回答

这种需求不适用computed,非响应式属性的computed数据是不会被缓存的,你这方法没有数据依赖,hos_array并不会如你所需的被缓存起来。
直接在data上挂个空的hos_array数组,把方法写在methods,最终结果赋值给hos_array,在mounted钩子里面触发吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题