vue v-for 不能渲染数据的问题

在Vue开发过程中遇到一个难题,当从接口获取数据并赋值给一个空数组后,v-for指令无法渲染该对象数组。尝试使用this.$set和this.$forceUpdate等方法无效。问题的解决方法是在ul标签上添加v-if='list.length > 0',通过Vue的diff算法监听数组变化,实现列表的响应式渲染。

vue 开发中遇到一个问题:当获取接口数据后,给一个空数组赋值接口的对象数组后,html 部分的 v-for 不能渲染这个对象数组,尝试过使用 this.$set this.$forceUpdate 等方法都不能解决问题。

<ul>
  <li v-for="item in list" :key="item.id">
 	{{item.title}} <!--v-for 不能渲染-->
  </li>
</ul>

如上代码:list 本身已经有数据,但是 v-for 的标签无论如何也不被渲染。

<ul v-if="list.length > 0">
  <li v-for="item in list" :key="item.id">
 	{{item.title}} 
  </li>
</ul>

一个很简单的解决办法是在 <ul> 标签加上 v-if=“list.length > 0”vuediff 算法会监测数组变化,响应式地渲染列表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值