v-for、v-if & v-show

vue 中 v-for的用法

v-for: 用于循環(huán)數(shù)據(jù),語法v-for="(item, i) in list",其中i指的是索引构捡,item指的是循環(huán)的每一項;

例:循環(huán)一個數(shù)組

<div id="app">
    <!-- <p>{{list[0]}}</p>
    <p>{{list[1]}}</p>
    <p>{{list[2]}}</p>
    <p>{{list[3]}}</p>
    <p>{{list[4]}}</p> -->

    <p v-for="(item, i) in list">索引值:{{i}} --- 每一項:{{item}}</p>

  </div>

  <script>
    // 創(chuàng)建 Vue 實例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        list: [1, 2, 3, 4, 5, 6]
      },
      methods: {}
    });
  </script>

例:循環(huán)一個對象數(shù)組

<div id="app">
    <p v-for="(user, i) in list">Id:{{ user.id }} --- 名字:{{ user.name }} --- 索引:{{i}}</p>
  </div>

  <script>
    // 創(chuàng)建 Vue 實例塘安,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        list: [
          { id: 1, name: 'zs1' },
          { id: 2, name: 'zs2' },
          { id: 3, name: 'zs3' },
          { id: 4, name: 'zs4' }
        ]
      },
      methods: {}
    });
  </script>

例:循環(huán)一個對象

 <div id="app">
    <!-- 注意:在遍歷對象身上的鍵值對的時候, 除了 有  val  key  ,在第三個位置還有 一個 索引  -->
    <p v-for="(val, key, i) in user">值是: {{ val }} --- 鍵是: {{key}} -- 索引: {{i}}</p>
  </div>

  <script>
    // 創(chuàng)建 Vue 實例援奢,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        user: {
          id: 1,
          name: '托尼·屎大顆',
          gender: '男'
        }
      },
      methods: {}
    });
  </script>

例:迭代數(shù)字


<div id="app">
    <!-- in 后面我們放過  普通數(shù)組兼犯,對象數(shù)組,對象集漾, 還可以放數(shù)字 -->
    <!-- 注意:如果使用 v-for 迭代數(shù)字的話切黔,前面的 count 值從 1 開始 -->
    <p v-for="count in 10">這是第 {{ count }} 次循環(huán)</p>
  </div>

  <script>
    // 創(chuàng)建 Vue 實例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {},
      methods: {}
    });
  </script>
  • 重點:v-for當(dāng)中key的使用
<div id="app">

    <div>
      <label>Id:
        <input type="text" v-model="id">
      </label>

      <label>Name:
        <input type="text" v-model="name">
      </label>

      <input type="button" value="添加" @click="add">
    </div>

    <!-- 注意: v-for 循環(huán)的時候具篇,key 屬性只能使用 number獲取string -->
    <!-- 注意: key 在使用的時候纬霞,必須使用 v-bind 屬性綁定的形式,指定 key 的值 -->
    <!-- 在組件中驱显,使用v-for循環(huán)的時候诗芜,或者在一些特殊情況中瞳抓,如果 v-for 有問題,必須 在使用 v-for 的同時伏恐,指定 唯一的 字符串/數(shù)字 類型 :key 值 -->
    <p v-for="item in list" :key="item.id">
      <input type="checkbox">{{item.id}} --- {{item.name}}
    </p>
  </div>

  <script>
    // 創(chuàng)建 Vue 實例孩哑,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        id: '',
        name: '',
        list: [
          { id: 1, name: '李斯' },
          { id: 2, name: '嬴政' },
          { id: 3, name: '趙高' },
          { id: 4, name: '韓非' },
          { id: 5, name: '荀子' }
        ]
      },
      methods: {
        add() { // 添加方法
          this.list.unshift({ id: this.id, name: this.name })
        }
      }
    });
  </script>

vue中v-if 和 v-show的使用

v-if: 每次都會重新刪除或創(chuàng)建元素;
v-show: 每次不會重新進行DOM的刪除和創(chuàng)建操作,只是切換了元素的 display:none 樣式;

<div id="app">

    <!-- <input type="button" value="toggle" @click="toggle"> -->
    <input type="button" value="toggle" @click="flag=!flag">

    <!-- v-if 的特點:每次都會重新刪除或創(chuàng)建元素 -->
    <!-- v-show 的特點: 每次不會重新進行DOM的刪除和創(chuàng)建操作翠桦,只是切換了元素的 display:none 樣式 -->

    <!-- v-if 有較高的切換性能消耗 -->
    <!-- v-show 有較高的初始渲染消耗 -->

    <!-- 如果元素涉及到頻繁的切換横蜒,最好不要使用 v-if, 而是推薦使用 v-show -->
    <!-- 如果元素可能永遠也不會被顯示出來被用戶看到,則推薦使用 v-if -->
    <h3 v-if="flag">這是用v-if控制的元素</h3>
    <h3 v-show="flag">這是用v-show控制的元素</h3>

  </div>

  <script>
    // 創(chuàng)建 Vue 實例销凑,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        flag: false
      },
      methods: {
        /* toggle() {
          this.flag = !this.flag
        } */
      }
    });
  </script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丛晌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子斗幼,更是在濱河造成了極大的恐慌澎蛛,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜕窿,死亡現(xiàn)場離奇詭異瓶竭,居然都是意外死亡,警方通過查閱死者的電腦和手機渠羞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門斤贰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人次询,你說我怎么就攤上這事荧恍。” “怎么了屯吊?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵送巡,是天一觀的道長。 經(jīng)常有香客問我盒卸,道長骗爆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任蔽介,我火速辦了婚禮摘投,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虹蓄。我一直安慰自己犀呼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布薇组。 她就那樣靜靜地躺著外臂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪律胀。 梳的紋絲不亂的頭發(fā)上宋光,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天貌矿,我揣著相機與錄音,去河邊找鬼罪佳。 笑死逛漫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的菇民。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼投储,長吁一口氣:“原來是場噩夢啊……” “哼第练!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玛荞,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤娇掏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后勋眯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婴梧,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年客蹋,在試婚紗的時候發(fā)現(xiàn)自己被綠了塞蹭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡番电,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辆琅,到底是詐尸還是另有隱情漱办,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布婉烟,位于F島的核電站娩井,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏似袁。R本人自食惡果不足惜洞辣,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昙衅。 院中可真熱鬧屋彪,春花似錦、人聲如沸绒尊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婴谱。三九已至蟹但,卻和暖如春躯泰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背华糖。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工麦向, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人客叉。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓诵竭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兼搏。 傳聞我的和親對象是個殘疾皇子卵慰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容