最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中v-for指令完成列表渲染

 更新時間:2021年11月24日 09:21:11   作者:緣分锝天空  
這篇文章主要給大家分享的是vue中v-for指令完成列表渲染,下面文化章就圍繞中v-for的相關(guān)資料在Vue中列表渲染做個簡單總結(jié)和使用演示,需要的朋友可以參考一下,希望對大家有所幫助

本文就Vue中列表渲染做個簡單總結(jié)和使用演示:

列表渲染是用v-for指令根據(jù)綁定一組元素的選項來完成的,渲染格式可以自定義。

1、列表遍歷

最基本的使用案例1:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>列表渲染</title>

    <script src="../../js/vue.js"></script>

</head>

<body>

    <div id="app">

        <ul>

            <li v-for="(name,index) in names">

                {{index}}-{{name}}

            </li>

        </ul>

    </div>  

</body>

<script>

    new Vue({

        el:'#app',

        data() {

            return {

                names:['張三','李四','王五','趙六']

            }

        },

    })

</script>

</html>

上面的例子中:通過v-for指令,綁定data中的names數(shù)組,以列表的形式遍歷出數(shù)組中的元素,其中name代表當(dāng)前數(shù)組的一個遍歷元素,index是當(dāng)前元素name在數(shù)組中的索引,輸出效果如下:

v-for還可以遍歷對象,字符串,指定數(shù)字等等。如:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>列表渲染</title>

    <script src="../../js/vue.js"></script>

</head>

<body>

    <div id="app">

        <!-- 遍歷對象 -->

        <ul>

            <li v-for="(propery,key) in student">

                {{key}}:{{propery}}

            </li>

        </ul>

        <!-- 遍歷字符串 -->

        <ol>

            <li v-for="char in str">{{char}}</li>

        </ol>

        <!-- 自定義輸出 -->

        <ul>

            <li v-for="num in 10">

                {{num}}

            </li>

        </ul>

    </div>  

</body>

<script>

    new Vue({

        el:'#app',

        data() {

            return {

                student:{

                    name:'李明',

                    age:23,

                    address:'大連'

                },

                str:'HelloWord'

            }

        },

    })

</script>

</html>

上面代碼的效果如下:

2、Vue中key的作用

作用:

  • key是虛擬dom對象的標(biāo)識,當(dāng)數(shù)據(jù)發(fā)生變化時,vue會根據(jù)【新數(shù)據(jù)】生成【新的虛擬dom】,隨后Vue進行【新虛擬dom】和【舊虛擬dom】的差異對比

差異對比規(guī)則:

  • 先是在【舊虛擬dom】中找到與【新虛擬dom】相同的key
  • (1)若虛擬dom中的內(nèi)容沒變,直接使用之前的真實dom
  • (2)若虛擬dom中的內(nèi)容邊了,則生成新的真實dom,隨后替換掉頁面中之前的真實dom
  • 若在【舊虛擬dom】中沒有找到和【新虛擬dom】相同的key,就創(chuàng)建新的真實dom,隨后渲染到頁面中

3、列表過濾

列表過濾即在進行列表遍歷前對列表元素進行一次篩選,選擇出符合要求元素進行展示,如:

假如我們要過濾掉列表里名為‘張三'的人:(可以用computer或者watch這兩個屬性實現(xiàn))

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>列表渲染</title>

    <script src="../../js/vue.js"></script>

</head>

<body>

    <div id="app">

        <!-- 列表過濾 -->

        <!-- computer方式 -->

        <ul>

            <li v-for="(name,intdex) in showNames">{{name}}</li>

        </ul>

        <!-- watch方式 -->

        <ol>

            <li v-for="(name,index) in displayName">{{name}}</li>

        </ol>

    </div>  

</body>

<script>

    new Vue({

        el:'#app',

        data() {

            return {

                names:['張三','李四','王五','趙六'],

                displayName:[],

            }

        },

        watch: {

            name:{

                immediate:true,

                handler(val){

                    this.displayName=this.names.filter((n)=>{

                        return n!='張三'

                    })

                }

            }

        },

        computed: {

            // 假如我們要過濾掉名為'張三'的人

            showNames(){

                return this.names.filter((n)=>{

                    return n!="張三"

                })

            }

        },        

    })

</script>

</html>

效果:

到此這篇關(guān)于 vue中v-for指令完成列表渲染的文章就介紹到這了,更多相關(guān) vue中v-for指令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Element Cascader 級聯(lián)選擇器的使用示例

    Element Cascader 級聯(lián)選擇器的使用示例

    這篇文章主要介紹了Element Cascader 級聯(lián)選擇器的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Vue.js組件高級特性實例詳解

    Vue.js組件高級特性實例詳解

    這篇文章主要介紹了Vue.js組件高級特性,結(jié)合實例形式詳細(xì)分析了vue.js組件遞歸、模板、動態(tài)加載、渲染等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • vite+vue3+element-plus搭建項目的踩坑記錄

    vite+vue3+element-plus搭建項目的踩坑記錄

    這篇文章主要介紹了vite+vue3+element-plus搭建項目的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue組件之全局注冊和局部注冊方式

    vue組件之全局注冊和局部注冊方式

    這篇文章主要介紹了vue組件之全局注冊和局部注冊方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue渲染器設(shè)計實現(xiàn)流程詳細(xì)講解

    Vue渲染器設(shè)計實現(xiàn)流程詳細(xì)講解

    在瀏覽器平臺上,用它來渲染其中的真實DOM元素。渲染器不僅能夠渲染真實的DOM元素,它還是框架跨平臺能力的關(guān)鍵。所以在設(shè)計渲染器的時候一定要考慮好自定義的能力
    2023-01-01
  • Vue監(jiān)聽某個元素以外的區(qū)域被點擊問題

    Vue監(jiān)聽某個元素以外的區(qū)域被點擊問題

    這篇文章主要介紹了Vue監(jiān)聽某個元素以外的區(qū)域被點擊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue+springmvc導(dǎo)出excel數(shù)據(jù)的實現(xiàn)代碼

    vue+springmvc導(dǎo)出excel數(shù)據(jù)的實現(xiàn)代碼

    這篇文章主要介紹了vue+springmvc導(dǎo)出excel數(shù)據(jù)的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • vue實現(xiàn)多個數(shù)組合并

    vue實現(xiàn)多個數(shù)組合并

    這篇文章主要介紹了vue實現(xiàn)多個數(shù)組合并方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue中如何引入jest單元測試

    vue中如何引入jest單元測試

    這篇文章主要介紹了vue中如何引入jest單元測試問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue?實現(xiàn)新國標(biāo)紅綠燈效果實例詳解

    Vue?實現(xiàn)新國標(biāo)紅綠燈效果實例詳解

    這篇文章主要為大家介紹了Vue?實現(xiàn)新國標(biāo)紅綠燈效果實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論

上蔡县| 易门县| 称多县| 蒙自县| 古浪县| 定南县| 车险| 青海省| 普格县| 任丘市| 丰县| 庆城县| 陆良县| 新野县| 天津市| 巴林右旗| 阿城市| 沾化县| 南郑县| 诏安县| 沅江市| 洛川县| 新邵县| 商水县| 托克托县| 新营市| 饶河县| 新民市| 易门县| 姚安县| 上蔡县| 武邑县| 甘泉县| 乡宁县| 平武县| 邓州市| 兴业县| 铁岭市| 绥滨县| 东乡族自治县| 八宿县|