久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      vue中key的重要作用是什么

      vue中key的重要作用是什么

      一、使用key管理可復(fù)用的元素

      1、相關(guān)示例如下所示:

      <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">         <title>v-if-key</title>     </head>     <body>         <div id="app">             <template v-if="Input === 'username'">                 <label>用戶名:</label>                 <input placeholder="請(qǐng)輸入你的用戶名">             </template>             <template v-else>                 <label>郵箱:</label>                 <input placeholder="請(qǐng)輸入你的郵箱">             </template>             <button v-on:click="changeInput">切換</button>         </div>         <script src="../../plugings/vue.js"></script>         <script>             var vm = new Vue({                 el: "#app",                 data: {                     Input: "username",                 },                 methods: {                     changeInput() {                         if(this.Input === 'username') {                             this.Input = 'email';                         } else {                             this.Input = 'username';                         }                     }                 }             })         </script>     </body> </html>

      2、當(dāng)輸入用戶名階段,輸入相關(guān)的內(nèi)容后相關(guān)結(jié)果如下所示:

      vue中key的重要作用是什么

      3、當(dāng)點(diǎn)擊切換按鈕后,其相關(guān)的結(jié)果為:

      vue中key的重要作用是什么

      4、由以上的結(jié)果可以觀察到其在用戶名中輸入的內(nèi)容,當(dāng)進(jìn)行相關(guān)的切換后在郵箱的相關(guān)輸入框中進(jìn)行了相關(guān)的顯示。

      5、出現(xiàn)上述情況的原因:

      • 原理:在Vue中為了盡可能高效地渲染元素,通常會(huì)復(fù)用已有元素,而不是從頭開始進(jìn)行渲染,這樣做可以使Vue渲染效率變得更高。

      • 示例分析:在上述示例中都使用了相同的<input>元素,Vue為了提高渲染效率,復(fù)用了<input>元素,因此在進(jìn)行相關(guān)的切換中input并未被替換掉,僅僅是替換了它的placeholder屬性。

      (免費(fèi)學(xué)習(xí)視頻分享:javascript視頻教程)

      6、解決方式

      為input元素添加具有一個(gè)唯一值的key屬性,來(lái)告訴Vue這兩個(gè)元素是完全獨(dú)立的,不要復(fù)用它們。

      修改后其相關(guān)的代碼為:

      <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">         <title>v-if-key</title>     </head>     <body>         <div id="app">             <template v-if="Input === 'username'">                 <label>用戶名:</label>                 <input placeholder="請(qǐng)輸入你的用戶名" key="username">             </template>             <template v-else>                 <label>郵箱:</label>                 <input placeholder="請(qǐng)輸入你的郵箱" key="email">             </template>             <button v-on:click="changeInput">切換</button>         </div>         <script src="../../plugings/vue.js"></script>         <script>             var vm = new Vue({                 el: "#app",                 data: {                     Input: "username",                 },                 methods: {                     changeInput() {                         if(this.Input === 'username') {                             this.Input = 'email';                         } else {                             this.Input = 'username';                         }                     }                 }             })         </script>     </body> </html>

      關(guān)鍵代碼如下所示:

      vue中key的重要作用是什么

      二、重用和重新排序現(xiàn)有元素

      1、相關(guān)的示例代碼如下所示:

      <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">         <title>v-for-key</title>     </head>     <body>         <div id="app">             <p>                 ID:<input type="text" v-model="bookId">                 書名:<input type="text" v-model="bookName">                 <input type="button" @click="add" value="增加">             </p>             <p v-for="item in items">                 <input type="checkbox">                 <span>ID:{{item.id}}, 書名:{{item.name}}</span>             </p>         </div>         <script src="../../plugings/vue.js"></script>         <script>             var vm = new Vue({                 el: "#app",                 data: {                     bookId: '',                     bookName: '',                     items: [                         {id: 1, name: "1"},                         {id: 2, name: "2"}                     ]                 },                 methods: {                     add() {                         this.items.unshift({                             id: this.bookId,                             name: this.bookName                         })                         this.bookId = '';                         this.bookName = '';                     }                 }             })         </script>     </body> </html>

      2、相關(guān)的運(yùn)行結(jié)果說(shuō)明

      開始時(shí)選中ID為1的序列

      vue中key的重要作用是什么

      新增書的相關(guān)信息后,所選中的序列變成ID為3的序列

      vue中key的重要作用是什么

      3、產(chǎn)生如上所示的原因

      當(dāng)Vue正在更新使用v-for渲染的元素列表時(shí),它默認(rèn)使用“就地更新”策略。如果數(shù)據(jù)項(xiàng)的順序被改變,Vue將不會(huì)移動(dòng)DOM元素來(lái)匹配數(shù)據(jù)項(xiàng)的順序,而是就地更新每個(gè)元素,并且確保它們?cè)诿總€(gè)索引位置正確渲染。

      4、解決辦法

      為列表的每一項(xiàng)提供一個(gè)唯一的key屬性。

      vue中key的重要作用是什么

      最后正確的運(yùn)行結(jié)果如下所示:

      vue中key的重要作用是什么

      原理:為列表中的每一項(xiàng)提供一個(gè)唯一的key屬性,可以給Vue一個(gè)提示,以便它能跟蹤每個(gè)節(jié)點(diǎn)的身份,從而重用和重新排序現(xiàn)有元素。

      注意:key屬性的類型只能是string或者number類型。

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