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

Vue中判斷語句與循環(huán)語句基礎(chǔ)用法及v-if和v-for的注意事項(xiàng)詳解

 更新時(shí)間:2022年08月03日 11:00:52   作者:小余努力搬磚  
在Vue指令中,最經(jīng)常被用于做邏輯操作的指令,下面這篇文章主要給大家介紹了關(guān)于Vue中判斷語句與循環(huán)語句基礎(chǔ)用法及v-if和v-for注意事項(xiàng)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

一、判斷語句

v-if、v-else、v-else-if

v-if是判斷是否將DOM元素顯示出來

不滿足條件的元素,會(huì)直接刪除,不會(huì)存在瀏覽器上面

v-show

也是用來判斷,是否將DOM元素在頁面上顯示,但是與v-if有著區(qū)別,它的不顯示是通過display:none;實(shí)現(xiàn)的,還是存在瀏覽上。

   <div id="app">
        <h2 v-if="age<18">未成年</h2>
        <h2 v-else-if="age<60">壯年</h2>
        <h2 v-else>老年</h2>
        <h2 v-show="flag">show</h2>
        <h2 v-if="flag">if</h2>
    </div>
   
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#app",
            data(){
                return{
                    age:71,
                    flag:false//true會(huì)顯示,false不會(huì)顯示 
                }
            }
        })
    </script>

如下圖片顯示,不存在時(shí)v-if和v-show的顯示狀態(tài)

可以發(fā)現(xiàn)show是被display:none;影藏起來了

if已經(jīng)從這個(gè)世界上消失了

案例

這里用簡(jiǎn)單的if判斷,可以通過按鈕控制不同的輸入模式

這里也會(huì)出現(xiàn)一個(gè)細(xì)節(jié)上的問題,因?yàn)閂ue會(huì)出現(xiàn)大量的復(fù)用情況,所以這里需要在input表單中設(shè)置一個(gè)key值,使其出現(xiàn)差別,在以輸入內(nèi)容的表單,切換后內(nèi)容會(huì)也會(huì)被取消掉。

   <div id="app">
        <span v-if="usname">
            <label for="uname">用戶名</label>
            <input type="text" id="username" placeholder="輸入用戶名" key="index">
        </span>
        <span v-else="usname">
            <label for="email">用戶名郵箱</label>
            <input type="text" id="email" placeholder="輸入郵箱" key="index1">
        </span>
        <button @click="usname=!usname">選擇</button>
    </div>
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#app",
            data(){
                return{
                    usname:true
                }
            }
        })
    </script>

二、循環(huán)語句

如下案例

遍歷數(shù)組

是通過循環(huán)來實(shí)現(xiàn)點(diǎn)擊變色,這里遍歷出了下標(biāo)和內(nèi)容,在頁面上顯示出來

v-for="(item,index) in list"

item值index索引

    <style>
        .active{
            color: red;
        }
    </style>
</head>
<body>
    <div id="app">
        <ul>
            <li :class="currentIndex==index?'active':''" @click="change(index)" v-for="(item,index) in list">{{index}}--{{item}}</li>
        </ul>
    </div>
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data(){
                return {
                    currentIndex:0,
                    list:["海王","海賊王","火影忍者","復(fù)仇者聯(lián)盟"],
                }
            },
            methods:{
                change(index){
                    this.currentIndex=index
                }
            }
        })
    </script>
</body>

遍歷對(duì)象

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <!-- 1.遍歷過程沒有使用index索引-->
    <!-- 格式為:(value, name) -->
    <ul>
      <li v-for="(item,key) in user" >{{key+"-"+item}}</li>
    </ul>
    <!-- 格式為:(value, name, index) -->
    <ul>
      <li v-for="(item,key,index) in user" >{{key+"-"+item+"-"+index}}</li>
    </ul>
 
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
  <script>
    const app = new Vue({
      el:"#app",
      data:{
        user:{
          name:"zzz",
          height:188,
          age:24
        }
      }
    })
  </script>
</body>
</html>

三、v-if和v-for的注意事項(xiàng)

如果將v-if和v-for 在同一個(gè)標(biāo)簽內(nèi)使用,會(huì)出現(xiàn)每次先循環(huán),在去判斷渲染,在性能上出現(xiàn)了浪費(fèi)

要注意這個(gè)細(xì)節(jié),在寫代碼時(shí),可以將for包含到if判斷中,使其不在一個(gè)標(biāo)簽內(nèi),從而避免了同是使用的情況。

這里,還會(huì)出現(xiàn)一個(gè)問題,如果使用index為索引,在渲染表單的時(shí)候就會(huì)出現(xiàn),表單添加,表單內(nèi)容沒有出現(xiàn)變化,需要自己起一個(gè)唯一標(biāo)志符。

附:根據(jù)某一個(gè)與待循環(huán)列表無關(guān)的屬性決定是否展示渲染后的數(shù)組對(duì)象時(shí),可以把 v-if 上移。

例子:根據(jù) isShow 屬性決定是否顯示 users 列表

users: [
        {'name': '111'},
        {'name': '222'},
        {'name': '333'},
        {'name': '444'}
      ],

isShow: true

改良前:

<ul>
  <li v-for="user in users" v-if="isShow">
    {{ user.name }}
  </li>
</ul>

改良后:

<ul v-if="isShow">
  <li v-for="user in users">
    {{ user.name }}
  </li>
</ul>

總結(jié)

到此這篇關(guān)于Vue中判斷語句與循環(huán)語句基礎(chǔ)用法及v-if和v-for的注意事項(xiàng)詳解的文章就介紹到這了,更多相關(guān)Vue判斷語句與循環(huán)語句用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VueX如何實(shí)現(xiàn)數(shù)據(jù)共享

    VueX如何實(shí)現(xiàn)數(shù)據(jù)共享

    這篇文章主要介紹了VueX如何實(shí)現(xiàn)數(shù)據(jù)共享問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue項(xiàng)目打包后proxyTable代理失效問題及解決

    vue項(xiàng)目打包后proxyTable代理失效問題及解決

    這篇文章主要介紹了vue項(xiàng)目打包后proxyTable代理失效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-05-05
  • vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么

    vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么

    這篇文章主要介紹了vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 基于vue+uniapp直播項(xiàng)目實(shí)現(xiàn)uni-app仿抖音/陌陌直播室功能

    基于vue+uniapp直播項(xiàng)目實(shí)現(xiàn)uni-app仿抖音/陌陌直播室功能

    uni-liveShow是一個(gè)基于vue+uni-app技術(shù)開發(fā)的集小視頻/IM聊天/直播等功能于一體的微直播項(xiàng)目。本文通過實(shí)例圖文的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-11-11
  • Vue實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼功能

    Vue實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼功能

    這篇文章主要介紹了Vue實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • vue下載excel文件的四種方法實(shí)例

    vue下載excel文件的四種方法實(shí)例

    最近vue項(xiàng)目中遇到了需求,客戶端需要實(shí)現(xiàn)以excel表格形式下載數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于vue下載excel文件的四種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Vue3子組件watch無法監(jiān)聽父組件傳遞的屬性值的解決方法

    Vue3子組件watch無法監(jiān)聽父組件傳遞的屬性值的解決方法

    這篇文章主要介紹了Vue3子組件watch無法監(jiān)聽父組件傳遞的屬性值的解決方法,文中通過代碼示例講解的講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-10-10
  • 前端vue+element使用SM4國(guó)密加密解密的詳細(xì)實(shí)例

    前端vue+element使用SM4國(guó)密加密解密的詳細(xì)實(shí)例

    國(guó)密即國(guó)家密碼局認(rèn)定的國(guó)產(chǎn)密碼算法,主要有SM1,SM2,SM3,SM4,下面這篇文章主要給大家介紹了關(guān)于前端vue+element使用SM4國(guó)密加密解密的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Vue數(shù)據(jù)雙向綁定的深入探究

    Vue數(shù)據(jù)雙向綁定的深入探究

    這篇文章主要給大家介紹了關(guān)于Vue數(shù)據(jù)雙向綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 如何解決前端使用Axios時(shí)的跨域問題

    如何解決前端使用Axios時(shí)的跨域問題

    這篇文章主要介紹了如何解決前端使用Axios時(shí)的跨域問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

章丘市| 澎湖县| 额尔古纳市| 岳阳市| 南木林县| 武鸣县| 昭通市| 策勒县| 古丈县| 巴塘县| 前郭尔| 桑日县| 瓮安县| 德令哈市| 东方市| 杭锦旗| 宁安市| 拜泉县| 定结县| 台北市| 易门县| 靖边县| 西青区| 绥阳县| 安福县| 柳州市| 泗洪县| 公安县| 霍城县| 中卫市| 安义县| 咸阳市| 祁阳县| 易门县| 津市市| 景泰县| 内乡县| 中阳县| 太白县| 凤阳县| 乌拉特前旗|