<div class="screenbox-firsttype" v-for="(item,index) in workArr">
<span class="firsttype-title">{{item.title}}</span>
<div class="screenbox-secendtype">
<div @click="showAll(index)" class="checkall">
{{item.isclick?'收起':'全部'}}
<img src="../img/downrow.png" />
</div>
<span v-for='zitem in item.arr'>{{zitem}}</span>
</div>
</div>
开始要循环的数组里面没有isclick字段,就想到用
arr[index].isclick = “”
给数组添加一个新的字段,结果发现操作完之后字段是添加上了,但是页面并没有进行渲染查了下百度才发现是因为Vue受JS的限制这样操作并不能直接渲染,需要用可以检测的方法才可以触发渲染
放上文章地址 https://www.cnblogs.com/thinkingthigh/p/7789108.html
然后试着用了下Vue.set又发现了点问题,又找了下以下就是给数组添加新字段的正确写法之一
this.$set(this.Arr[index],“item”, value)
解决了