国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

簡單理解vue中track-by屬性

2019-11-20 08:39:25
字體:
來源:轉載
供稿:網友

本文實例為大家解析了vue中track-by的屬性,供大家參考,具體內容如下

api:http://cn.vuejs.org/guide/list.html#track-by

示例地址:https://jsfiddle.net/stardew/f1eju0ku/5/

無track-by情況:數據修改時,無論值是否被修改,dom都被重新渲染(控制臺可以看到)

加入track-by屬性:數據修改時,不變數據所在的dom不被重新渲染,已改變的數據所在dom才被重新渲染

track-by的兩種使用方法:

1. 使用數據中某唯一字段,例如_uid

<div id="example"> <p v-for="item in items" track-by="_uid"> {{item.message}} </p> <input type="button" value="修改" @click="modify"/> <input type="button" value="還原" @click="reduct"/></div>// 初始數據items: [ { _uid: '111111', message: '111' }, { _uid: '222222', message: '222' }, { _uid: '333333', message: '333' }, { _uid: '444444', message: '444' }, { _uid: '555555', message: '555' }]// 修改成modify: function () { this.items = [ { _uid: '111111', message: '111' }, { _uid: '666666', message: '222' }, { _uid: '333333', message: '3333' }, { _uid: '888888', message: '4444' }, { _uid: '999999', message: '5555' } ]}

渲染效果如下圖右(左邊無track-by,右邊有track-by),_uid和message都不變的情況下,才不被重新渲染,只有第一組符合條件。

2. 使用$index,其它條件同上

<div id="example"> <p v-for="item in items" track-by="$index"> {{item.message}} </p> <input type="button" value="修改" @click="modify"/> <input type="button" value="還原" @click="reduct"/></div>

渲染效果如下圖右,message的值第一、二條都沒改變,所以一、二都沒有重新渲染。

模板中同時使用message和_uid時,只有兩者都不變的情況下才不重新渲染,如下:

<div id="example"> <p v-for="item in items" track-by="$index"> {{item.message}} {{item._uid}} </p> <input type="button" value="修改" @click="modify"/> <input type="button" value="還原" @click="reduct"/></div>

本文已被整理到了《Vue.js前端組件學習教程》,歡迎大家學習閱讀。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大庆市| 榆中县| 永善县| 贵南县| 察雅县| 镇远县| 南安市| 喀什市| 沈阳市| 常宁市| 宁安市| 从江县| 偃师市| 上虞市| 沽源县| 民乐县| 新津县| 麻城市| 广西| 乐山市| 杭锦旗| 清远市| 锡林郭勒盟| 锡林浩特市| 沂南县| 永仁县| 山阳县| 岳普湖县| 富平县| 巴楚县| 沁阳市| 奉化市| 全椒县| 江城| 太仓市| 大安市| 监利县| 乌兰察布市| 鹤山市| 吴忠市| 越西县|