国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁/技術文章
文章詳情頁

在vue中對數組值變化的監聽與重新響應渲染操作

瀏覽:4日期:2023-01-06 14:54:04

在我們項目開發過程中,實例中的數據類型可以是對象、數組等。在對象中,某個屬性值發生更改時,我們可以通過對象的深度監聽,以達到重新渲染頁面的需求。或者查閱這篇文章

例如:

<script> export default { data(){ return { objVal: { name: ’obj’, type: ’obj’ } } }, watch:{ objVal:{ handler(val,oldval){ }, deep: true, } }, methods:{ changeObj(){ this.objVal.name = ’newobj’; } } }</script>

但是,在使用同一種方式進行數組值更改監聽時,這種做法是無效的。

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, watch: { arrList: { handler(val, oldval) { }, deep: true } }, methods: { changeArr() { // 無效 this.arrList[0] = 10; } }};</script>

上述用以監聽數組值變化的方法是無效的,vue是不會響應數據變化而重新去渲染頁面。在vue中僅需要通過修改賦值語句的方式,即可讓vue響應數組數據的變化。具體操作如下:

使用方法:

// Vue.setVue.set(vm.items, indexOfItem, newValue)// Array.prototype.splicevm.items.splice(indexOfItem, 1, newValue)

具體使用案例:

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, methods: { changeArr() { // this.arrList[0] = 10; // 修改為: this.arrList.splice(0, 1, 10); } }};</script>

或:

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, methods: { changeArr() { // this.arrList[0] = 10; // 修改為: this.$set(this.arrList, 0, 10); } }};</script>

以上兩種方式,均可達到監聽數組值變化的效果。

補充知識:vue數組操作不觸發前端重新渲染

暫時使用給數組先賦值 [ ] ,然后重新賦值的方式解決。

此外,能夠監聽的數組變異方法

https://cn.vuejs.org/v2/guide/list.html#%E5%8F%98%E5%BC%82%E6%96%B9%E6%B3%95

還有就是set

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产日产韩产麻豆1区 | 在线看黄网址 | 女黄人东京手机福利视频 | 国产精品亚洲欧美日韩一区在线 | a级毛片免费看 | 国产欧美在线观看不卡 | 欧美男人操女人 | 一区三区三区不卡 | 国产精品国产精品国产三级普 | 免费一级视频在线播放 | 黄网国产| 亚洲综合色就色手机在线观看 | 欧美特级大片 | 91精品手机国产露脸 | 国产精品9999久久久久 | 国产美女毛片 | 国产成人精品日本亚洲专 | 初爱视频教程在线观看高清 | 国产在线综合一区二区三区 | 亚洲久久成人 | aaaa级毛片欧美的 | 男人的亚洲天堂 | 68久久久久欧美精品观看 | 日韩中文字幕精品一区在线 | 成人黄色三级 | 免费视频男女 | 欧美日韩另类国产 | 黄色a三级免费看 | 国产精品久久久久久影院 | 国产亚洲午夜精品a一区二区 | 视频一区免费 | 目韩一区二区三区系列片丶 | 成人免费在线观看视频 | 国产福利片在线 易阳 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 成年人黄色免费网站 | 欧美性视频一区二区三区 | 一级黄色免费网站 | 亚洲激情黄色 | 免费国产一区二区在免费观看 | 日韩freesex呦交 |