vue v-for 不能渲染数据的问题
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”。 vue 的 diff 算法会监测数组变化,响应式地渲染列表。