欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          淺談Vue中v-for,key取值影響過渡效果和動畫效果(代碼詳解)

          之前的文章《教你怎么使用Vue實現(xiàn)動畫效果(附代碼)》中,給大家介紹了怎么使用Vue實現(xiàn)動畫效果。下面本篇文章給大家了解一下淺談Vue中key取值影響過渡效果和動畫效果,有需要的朋友可以參考一下,希望對你們有幫助。

          淺談Vue中v-for,key取值影響過渡效果和動畫效果(代碼詳解)

          關(guān)于Vue.jsv-for,key的順序改變,影響過渡動畫表現(xiàn)

          關(guān)于Vue.jsv-forkey的取值,影響過渡動畫表現(xiàn)這個問題是在寫Message組件出現(xiàn)的,先看代碼部分

          子組件:

          <!-- Notice: --> <transition :name="transitionName" @enter="enter" @leave="leave">   ...... .. </transition> <!-- JS: --> <script>   export default {     methods: {       enter(e) {         e.style.height = e.scrollHeight + "px";       },       leave(e) {         e.style.height = 0;       },     },   }; </script> <!-- CSS: --> <style>   transition: all 0.2s ease-in-out; </style>

          父組件:

          <notice v-for="(item, index) in notices" :key="index">   ...... </notice>

          JS

          data() {     return {       notices: []     };   },   //notices 新增的時候自動加入定時器來移除   setTimeout(() => {     let index = 0 //這里假設(shè)我已經(jīng)取得了移除的 index索引, 可能不是依次的123456     this.notices.splice(index, 1);   }, time) //time 為傳入的隨機不等值

          理論上當某一個子組件被移除時,他會有一個流暢的高度從 1 0 到過度動畫,但是不然,每次移除時,動畫每次只會應(yīng)用到最后一個。百思不解,各種jscss實現(xiàn)都不是很理想。依然一卡一卡的。

          又去官網(wǎng)把文檔翻了一遍。 找出了問題所在。for遍歷的時候,有一個值很重要:keykey取值為Number時,每次數(shù)組被改變,dom會重新渲染,所以動畫每次只會影響最后一個。

          key取值為String時,每次數(shù)組被改變,dom則默認用“就地復(fù)用”策略

          所以把key改為String時,則就是我想要當結(jié)果,流暢的依次性的執(zhí)行了動畫,完美官網(wǎng)的例子https://cn.vuejs.org/v2/guide/list.html#key

          這里需要注意的是,key的取值為StringNumber,所以測試時key值為了避免不重復(fù),應(yīng)該取值為隨機的不重復(fù)string/number, 不要使用默認的index 。

          [完]

          推薦學(xué)習(xí):JavaScript視頻教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號