vue v-for 指令的基本用法【07】

2021-03-02 PHP課堂

學習要點:1.v-for 指令

本節課我們來開始學習 Vue 的 v-for 指令以及其它周邊功能。

一.v-for 指令

1. 使用 v-for 指令來渲染一個列表,其中 array 是數據源,item 是元素別名;

<ul>    <li v-for="item in arr">{{ item.city }}</li></ul>

<script>const dataObj={    arr:[        {            city:'北京',        },        {            city:'上海',        },        {            city:'深圳',        }    ]};</script>

PS:插值使用 item.city 語法來獲取每個元素;

2. 也可以在遍歷的元素項中設置 index,來獲取有序編號,從 0 開始的;

PS:這裡的 in 可以使用 JS 迭代器語法 of:(item, index) of array;

<li v-for="(item,index) in arr">{{ index }} - {{ item.city }}</li>

3. v-for 指令也支持對象的遍歷,並且支持(value, name, key)三組值;

<li v-for="(value,name,key) in obj">{{ key }} - {{ name }} - {{value}}</li>

<script>const datObj={    obj:{        name:'Mr.ren',        age:100,        gender:'男'    }};</script>

PS:除了完全體,也可以使用:(value, name)或 value in object;

4. 支持使用<template>進行區塊渲染;

<template v-for="item in arr">    <li>{{ item.city }}</li>    <li>&#45;&#45;&#45;&#45;</li></template>

5. v-for 也可以使用數值進行循環渲染;

<li v-for="item in 6">{{item}}</li><li><hr/></li>

6. 在循環中,我們可能要過濾掉某些數據,那就需要使用 v-if;

<li v-for="item in arr" v-if="flag">{{ item.city }}</li><li v-for="item in arr" v-if="item.city !=='上海'">{{ item.city }}</li>

PS:避免 v-for 和 v-if 在同一節點使用,由於 v-for 優先級比 v-if 高,意味著每次循環都要重複執行一遍;

7. 為了避免渲染本應該被隱藏的列表,我們把 v-if 應該放在 v-for 的外層;

<template v-if="flag">      <li v-for="item in arr">{{ item.city }}</li>  </template> 

8. 將屬性更改為計算屬性,過濾完畢之後再交給視圖進行渲染輸出;

<li v-for="item in cityArr">{{ item.city }}</li>

<script>computed: {    cityArr(){        this.arr.splice(1,1);        return this.arr;    }     },</script>

如果您覺得有用,記得在下方點讚、關注、留言,小編會定期奉上更多的驚喜哦,您的打賞支持才是小編繼續努力的動力,麼麼噠。

每日分享在學習過程中總結的學習經驗,學習筆記,筆試題,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以學習為目的,每天閱讀一篇文章,了解身邊的技術,陪有夢想的人一起成長!

相關焦點

  • vue 中 v-model指令的基本用法【10】
    文本框(包含多行),使用 v-model 指令可以及時渲染更新內容;<input type="text" placeholder="請輸入內容" v-model="message"><p>{{ message }}</p></div>const
  • Vue知識點總結(2)——v-for、v-if、v-show(超級詳細)
    這篇文章我們了解一下v-for、v-if、v-show指令的用法,這三個指令都是常用的。
  • vue基本知識點總結——面試必備
    ③ 銷毀期間的生命周期函數:beforeDestroy():此時,實例的方法、指令都還可以使用,實例銷毀之前調用。destroyed():此時,vue實例上的所有指令、綁定、監聽都會被銷毀,子實例也全部被銷毀。6、 vue的生命周期鉤子是如何實現的?答:vue的生命周期鉤子實際上就是一個回調函數。
  • slot vue 用法專題及常見問題 - CSDN
    // app.vue 在開始和結束frame標記之間的內容將插入到插槽所在的frame組件中,替換slot標記。這是最基本的方法。下面是如何創建多個插槽:// titled-frame.vueTitle如果這裡沒有指定任何內容,這就是默認內容我們保留了相同的默認槽,但這次我們添加了一個名為header的槽,可以在其中輸入標題,用法如下:// app.vueMy Image’s Title
  • 【面試真題系列】Vue中的v-if和v-show有什麼區別?
    在回答這個問題前,我們先來看下Vue文檔中對這兩個指令的說明:v-if:用於條件性地渲染一塊內容。這塊內容只會在指令的表達式返回truthy值的時候被渲染。v-if和v-show的共同點兩者的作用效果是相同的,都能控制元素在頁面是否顯示。
  • 【項目推薦】Vue.js
    這個指令)完成中間的底層邏輯,實現綁定的效果。使用 v-for 這個指令就能完成,v-for 取代了 1.0 以前版本中的 v-repeat。$remove(book); }vue.js 為數組擴展了 $remove 方法,查找並刪除我們作為參數傳遞過去的 book。顧名思義,v-if 用於條件判斷,和 v-else 是一對。
  • vue題
    4、v-show 與 v-if 區別v-show和v-if的區別:v-show是css切換,v-if是完整的銷毀和重新創建。5、綁定 class 的數組用法對象方法 v-bind:class="{'orange': isRipe, 'green': isNotRipe}"數組方法v-bind:class="[class1, class2]"行內 v-bind:style="{color: color, fontSize: fontSize+'px' }"6、計算屬性computed
  • Vue 開發必須知道的 36 個技巧
    前言Vue基本用法很容易上手,但是有很多優化的寫法你就不一定知道了,本文從列舉了 36 個 vue 開發技巧;後續 Vue 3.x 出來後持續更新.版本做兼容,所以就會用到 Vue.version用法:Vue.version()可以獲取 vue 版本var version = Number(Vue.version.split('.')[0])if (version === 2) {  // Vue v2.x.x} else if (version
  • 35道常見的前端vue面試題
    自定義指令分為全局指令和組件指令,其中全局指令需要使用directive來進行定義,組件指令需要使用directives來進行定義,具體定義方法同過濾器filter或者其他生命周期,具體使用方法如下:全局自定義指令 directive(name,{}),其中name表示定義的指令名稱(定義指令的時候不需要帶v-,但是在調用的時候需要哦帶v-),第二個參數是一個對象
  • 什麼是Vue? 如何安裝和使用Vue?
    v-if可以從模型中獲取數據v-if也可以直接賦值一個表達式4.v-else指令v-else指令可以和v-if指令配合使用, 當v-if不滿足條件時就執行v-else就顯示v-else中的內容5.v-else
  • 深入理解v-model之自定義組件用法
    根據上一篇《深入理解 v-model 之表單用法》基本對 v-model 有了比較深的理解,接下來我們看看它如何在自定義組件中使用。首先,我們知道下面兩個用法等價的:<input v-model="msg" /><!
  • 12 種使用 Vue 的優秀做法
    1.始終在 `v-for` 中使用 `:key`在需要操縱數據時,將key屬性與v-for指令一起使用可以讓程序保持恆定且可預測。不要在同個元素上同時使用`v-if`和`v-for`指令為了過濾數組中的元素,我們很容易將v-if與v-for在同個元素同時使用。
  • Vue框架之生命周期鉤子
    vue中三大常用屬性的小結、生命周期鉤子的了解,以及指令的初步接觸。指令有點多,只能留到明天繼續補全了。一、回顧與生命周期補充說明三大屬性,當然vue肯定不止這些,只不過時間有限,只學下最常見的。同樣是setTimeout()方法,只不過寫法不同,為何這裡的this指的又是當前vue對象本身?箭頭函數底層做了處理,將其轉化成了對應的vue對象,顯然這種方式是我們所需要的,以後基本都以箭頭函數這種寫法為主。
  • 前端:v-if與v-show的用法與區別
    vue中顯隱方法常用兩種,v-show和v-if,但這兩種是有區別的。實現本質方法區別v-show本質就是標籤display設置為none,控制隱藏v-if是動態的向DOM樹內添加或者刪除DOM元素編譯的區別v-show
  • 總結 Vue 知識體系之高級技巧應用篇
    '@/mixin'; // 引入mixin文件export default { mixins: [mixin], //用法 data() { return { userName: "adimin", time: this.formatDate(new Date()) //這個vue文件的數據源data裡面的time就是引用混入進來的方法
  • 學習vue源碼(3) 手寫Vue.directive、Vue.filter、Vue.component方法
    Vue.directive(id,[definition]);1)參數{ string } id{ Function | Object } [ definition ](2)用法-- getter方法,返回已註冊的指令 -->var myDirective = Vue.directive('my-directive');(3) 除了核心功能默認內置的指令外(v-model和v-show),Vue.js也允許註冊自定義指令。
  • 分享8個非常實用的Vue自定義指令
    在 Vue,除了核心功能默認內置的指令 ( v-model 和 v-show ),Vue 也允許註冊自定義指令。它的作用價值在於當開發人員在某些場景下需要對普通 DOM 元素進行操作。Vue 自定義指令有全局註冊和局部註冊兩種方式。
  • 深入理解 Vue 模板渲染:Vue 模板反編譯
    事實上編譯工具也確實會把 vue 單文件模板編譯成這種形式,style 會單獨提取出來,綁定作用域作為標識,而 script 部分除了加入了 render 和 staticRenderFns 以外,基本不變。
  • Vue v-for循環數據
    一、原理分析v-for數據循環是vue項目中比較常用的一個功能主要應用在相同樣式重複的數據,通過v-for的方式寫一條數據即可,剩下的數據通過循環的方式渲染展示.這裡我們可以看到,這是一個網站首頁的banner圖,裡面有三張banner圖,樣式都是一樣的,一般的寫法是寫三個img標籤展示三張圖片,而在vue中就可以用v-for的方式,寫一個img標籤循環渲染展示三張banner圖.
  • Vue面試中,經常會被問到的面試題/Vue知識點整理
    vue的數據雙向綁定 將MVVM作為數據綁定的入口,整合Observer,Compile和Watcher三者,通過Observer來監聽自己的model的數據變化,通過Compile來解析編譯模板指令(vue中是用來解析 {{}}),最終利用watcher搭起observer和Compile之間的通信橋梁,達到數據變化 —>視圖更新;視圖交互變化(input)—>數據model變更雙向綁定效果