<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1.你在v-for中列表的每個item都有個按鈕,你點選按鈕,想把按鈕的類名通過一個屬性show,type為boolean來動態的選擇
2.v-show通過每個item這個show的true還是false來顯示
最後發現你在點選後,輸出發現,true,false都有變,但是感覺似乎試圖沒有重新渲染。通過搜尋,發現v-for對於陣列新增和刪除的操作,不會進行二次絢爛,但是這不是新增和刪除 ,只是進行值狀態的改變,即修改。似乎感覺以前也是這麼寫就沒問題。
1.你肯定這個屬性是通過下標來動態新增的,其實本質還是滿足了對陣列新增的操作。程式碼可能是類似這樣的。
data(){ productDetailList: [], list: [{ id: 1, show: true, name: '1111' }, { id: 2, show: true, name: '222' }, }
var info = JSON.parse(JSON.stringify(res.data.info)) this.productDetailList = info.productDetailList for (var i = 0; i < this.productDetailList.length; i++) { this.productDetailList[i].show = true }
上面在vue中list列表這樣我直接把show屬性寫出來,最後按以往寫法是沒問題的,能實現試圖和資料雙向繫結。
所以不同就明顯了,就是差在這個show屬性我這回是通過角標動態加的。而vue對於這種不能監聽的到。
vue當然有解決方案
使用Vue的set方法,使用之前要引入
<script> import Vue from 'vue'
1.頁面
<view class="item-wrap" v-for="(product,index) in productDetailList" :key="index"> <button :class="product.show == true ? 'iconfont icon-weibiaoti1 item-btn' : 'iconfont icon-xiangxia item-btn'" @click="show(product,index)"></button>
<view v-show="product.show == true ? true : false"> <view class="item-grid" style="">
<button type="default" class="fold-btn" @click="hideAll">全部摺疊</button>
2.方法
methods: { hideAll(){ var arr=this.productDetailList for(var i=0;i<arr.length;i++){ arr[i].show=false Vue.set(this.productDetailList,i,arr[i]) } }, show(product, index) { product.show=!product.show Vue.set(this.productDetailList,index,product) },
在前端開發中如下圖選單框架(左側選單內容由頂部選單點選後動態更新data內 menu:[] )v-for迴圈menu顯示左側選單
問題:點選頂部選單後(menu[]重新賦值),左側選單不能更新為新的menu[]裡的內容。
原因:
為了避免第一種情況,以下兩種方式將達到像 vm.items[indexOfItem] = newValue 的效果, 同時也將觸發狀態更新:
// Vue.set Vue.set(example1.items, indexOfItem, newValue) // Array.prototype.splice` example1.items.splice(indexOfItem, 1, newValue)
避免第二種情況,使用 splice:
example1.items.splice(newLength)
v-迴圈時K值選擇陣列物件的name或其他不唯一值如下圖
原因:key表示的屬性在變化時,強制更新元件,這樣就會解決vue不能檢測資料變動導致v-for檢視內容不更新的問題。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45