站長資訊網
        最全最豐富的資訊網站

        深入聊聊Vue中的一些常用指令

        本篇文章帶大家深入聊聊Vue中的一些常用指令,希望對大家有所幫助。

        深入聊聊Vue中的一些常用指令

        首先來聊聊Vue框架,Vue是一套用于構建用戶界面的漸進式的JavaScript框架,對于初學者來說是非常友好的 , Vue的虛擬Dom , 數據雙向綁定 , 都使開發者可以快速上手 , 而我個人感覺 , Vue的指令使用起來非常的方便 , 今天的這篇文章們就來聊聊常用的Vue指令吧!

        v-for

        在初學任何一門語言的時候我們或多或少都接觸過 for

        for (let i = 0; i < arr.length; i++) {  }

        Vue 的 v-for跟我們js里面的最根本的概念還是一樣的就是兩個字 循環

        v-for后面括號里面 itemindex 就相當for循環里面的 arr[i]i 也就是對應的每一個 元素下標 , 后面的 in arr 這個 arr 就是我們想要循環的數組 最后一個 :key="item.id "是v-for的核心 如果沒有這個:key 我們的Vue就會報錯 , 那么為什么會有Key , Key要給的參數是什么呢? Key的參數是唯一的 , 也就是我們不管循環幾次 , 每次循環的key不能有重復 , 這里我們不推薦用index來當你的Key , 說到底,key的作用就是更新組件時判斷兩個節點是否相同。相同就復用,不相同就刪除舊的創建新的。在渲染簡單的無狀態組件時,如果不添加key組件默認都是就地復用,不會刪除添加節點,只是改變列表項中的文本值,要知道節點操作是十分耗費性能的。而添加了key之后,當對比內容不一致時,就會認為是兩個節點,會先刪除掉舊節點,然后添加新節點。

        <li v-for="(item,index) in arr" :key="item.id">      {{ item.name }} </li>

        v-show

        v-show 是根據布爾值來進行渲染 , true 就頁面顯示 , false 就不在頁面顯示 ,他的原理其實是控制css樣式來使得我們對應的組件或者盒子顯示 ,隱藏dispaly:"none" ,顯示dispaly:"block"

        <div v-show="true"> 我 dispaly:"block" 拉 </div>  <div v-show="false"> 我 dispaly:"none" 拉 </div> //假裝我隱藏了 你看不見我

        v-if

        v-if 也是根據布爾值來進行渲染 ,跟v-show也是差不多, true 就頁面顯示 , false 就不在頁面顯示 但是v-if是惰性的 如果初始值是false組件就不會渲染出來 , 知道第一次他的參數變成true 他才會渲染,但他的條件又變成false的時候 , 子組件適當就會唄地被銷毀和重建 , 如果需要非常頻繁地切換,則使用 v-show 較好;如果在運行時條件很少改變,則使用 v-if 較好。

        <div v-if="true">  </div>  <div v-if="false"> 我被銷毀了嗚嗚嗚 </div> //假裝我隱藏了 你看不見我

        v-else

        提到 v-if 也就聊到了 v-elsev-if條件不成立的時候就會直接走到v-else上去 ,記住v-else后面不能跟等號 , 組件之前必須要跟v-if

        <div v-if="false"> 你看不到我啊  </div> //因為我條件不成立  <div v-else> 你能看到我 </div>

        v-else-if

        提到 v-ifv-else 也就也會想到 v-else-ifv-if條件不成立的時候就會直接走到v-else-if上去看條件判斷成立不成立 , 條件成立就渲染組件 , 組件之前必須要跟v-if

        <p v-if="score>=90">厲害</p>  <p v-else-if="score>=60">差不多</p>

        v-once

        v-once 它的作用就是定義它的元素或組件只會渲染一次 , 當第一次渲染之后也不會隨著數據的更新而來進行重新渲染 , 就相當于一個靜態內容

        <template>     <div v-once>{{count}}</div>     <button v-on:click="addCount"> 你點我count也不加 </button> </template>    <script>     export default {         data() {             return { count: 10 }          },         methods: {          addCount: function () {             this.count += 1;             console.log('this.count:'+this.count);              }          }     } </script>

        v-text

        v-text 以文本的方式來插入數據 , 是用于操作純文本 , 他是會替代本身元素上面的內容,如果數據更新隨之試圖也會發生改變

        <p v-text="data"> 你好你好 </p>

        v-html

        v-html v-html用于輸出html,它與v-text區別在于v-text輸出的是純文本,瀏覽器不會對其再進行html解析,但v-html會將其當html標簽解析后輸出

        <p v-html="data">厲害</p>   頁面顯示:<p>             <h1>你好啊<h1>         </p> // 外層還是會有p標簽來包裹    data:<h1>你好啊<h1>

        v-on

        v-on 有一個簡便的寫法就是" @ " 簡單來說v-on就是綁定事件 , 可以在一個標簽綁定多個事件 , v-on:第一個是事件 , 事件后面跟著一個自定義方法

         <button v-on:mouseenter='onenter' @click='leave'>click me</button>

        v-bind

        v-bind 也有一個簡便的寫法就是" : " 簡單來說v-on就是用于綁定數據和元素屬性 , 最常用的方法就是用于動態綁定class

         <ul  :class="classObject"></ul>

        v-model

        v-model是Vue雙向綁定指令 , 它可以在頁面是輸入的狀態同時改變綁定data屬性 , 也會在data屬性發生改變的時候也更新頁面的狀態 , 我們經常在input上面能發現他的存在 , 他的本質上其實是綁定了<input :value="test" @input="test = $event.target.value">v-model后面可以跟修飾符比如 .lazy.trim.number 這些修飾符一起使用

        .lazy 將input的實時更新改為一個change事件 , 只有失焦的時候input才會觸發事件

        .trim 去除字符串首尾的空格

        .number 將數據轉化為值類型

        <input v-model="test">  <input v-model.lazy="msg" >  <input v-model.trim="msg">  <input v-model.number="age" type="number">

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久香蕉国产线看观看精品yw| 在线精品亚洲一区二区小说| 久久精品国产清自在天天线| 国产精品亚洲精品日韩已满| 无码精品久久一区二区三区| mm1313亚洲国产精品无码试看| 2022年国产精品久久久久| 四虎成人精品国产永久免费无码| 日韩精品在线一区二区| 97久久国产亚洲精品超碰热| 亚洲精品乱码久久久久久中文字幕| 久久久WWW免费人成精品| 国产69精品久久久久9999| 久久99精品久久只有精品| 人妻少妇看A偷人无码精品| 国产精品一区二区久久精品无码| 国产成人精品天堂| 国产成人精品一区二区秒拍| 久久精品国产亚洲av麻豆色欲| 亚洲中文字幕无码久久精品1| 久久精品国产黑森林| 国产三级精品三级| 国产香蕉国产精品偷在线观看 | 99re热视频这里只精品| 久久成人国产精品| 国产在线精品一区二区在线观看| 久久精品蜜芽亚洲国产AV| 久久夜色精品国产噜噜麻豆| 蜜芽亚洲av无码精品色午夜| 无码人妻精品一区二区三区东京热 | 国产精品午夜久久| 精品无人区一区二区三区| 97久久精品人人澡人人爽| 亚洲精品国产自在久久| 欧美亚洲日本久久精品| 黄床大片免费30分钟国产精品| jizz国产精品| 精品水蜜桃久久久久久久| 国产一区二区精品久久岳| 久久www免费人成精品香蕉| 国模和精品嫩模私拍视频|