Vue框架的学习(Vue的基础指令操作二 V-For)第二课

news2024/12/27 22:28:34

今天的任务理解下面的几个指令操作 重点在V-for上 

V-if  V-else  V-show  V-For 本文章的重心放在V-For 从数据到数组到对象一步一步的去查找 底层的原理

v-show和v-if的用法看起来是一致的,也是根据一个条件决定是否显示元素或者组件  下面是 V-if  V-else  V-show  的内容 

<!--
 * @Author: error: git config user.name && git config user.email & please set dead value or install git
 * @Date: 2022-11-10 10:36:03
 * @LastEditors: error: git config user.name && git config user.email & please set dead value or install git
 * @LastEditTime: 2022-11-10 10:49:47
 * @FilePath: \com.Html\Com.Vue\模板语法\html\V-if条件.html
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->

<!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>Document</title>
</head>

<body>

    <div id="app">
        <h1>{{message}}</h1>
        <h1>{{text}}</h1>
        <h1 v-if="score>90">{{score}}</h1>
        <h1 v-if="score>80">{{score}}</h1>
        <!--! V-show -->
        <h1 v-show="score>90">{{score}}</h1>
        <h1 v-else>{{message}}</h1>
    </div>


    <div id="app"  v-else>
        <h1>{{message}}</h1>
        <h1>{{text}}</h1>
        <h1 v-if="score>90">{{score}}</h1>
        <h1 v-if="score>80">{{score}}</h1>
        <!--! V-show -->
        <h1 v-show="score>90">{{score}}</h1>
        <h1 v-else>{{message}}</h1>
    </div>


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

    <script>
        function FistFunctionFmethod() {
            alert("开始学习Vue.js")
            const app = Vue.createApp({
                template:`<h1>123456789</h1>`,
                data: function () {
                    return {
                        message: "数据内容一",
                        text: "数据内容二",
                        score: 90,
                        isShow:true,
                    }
                },
                methods: {
                }
            })
            app.mount("#app")

        }
        FistFunctionFmethod()
    </script>


</body>

</html>

  V-For指令 思考下面的几个问题

  1. 在V-for中 数组是如何遍历出来的?
  2. 在V-for中 对象是如何遍历出来的?
  3. 在V-for中 数组中套用对象的数据类型该如何遍历 ?
  4. 在V-for中 对象中套用的数组的数据信息该如何拿到?
  5. 利用V-for如何动态的创建表格的信息?
  6. 思考一下 我为什么要讲 V-for指令重点来讲?
  7. 思考一下 是现有数据 还是现有数组的 ?
  8. 单个数据 多个数据 类型不同 该如何存放?
  9. 如果是在对象中套用数组在数组中套用对象复杂的数据类型该如何显示呢?

来个小案例 理解数组对象该如何遍历信息的

<!--
 * @Author: error: git config user.name && git config user.email & please set dead value or install git
 * @Date: 2022-11-10 11:13:24
 * @LastEditors: error: git config user.name && git config user.email & please set dead value or install git
 * @LastEditTime: 2022-11-10 19:10:10
 * @FilePath: \com.Html\Com.Vue\模板语法\html\V-for.html
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!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>Document</title>
</head>

<body>

    <div id="app">
        <ul>
            <li v-for="item,index in meage">{{index+'_'+item}}</li>
        </ul>

        <ul>
            <li v-for="item,index,idx in object">{{idx+'_'+item+'_'+index}}</li>
        </ul>

        <p v-for="index in object.age">{{index}}</p>

        <p v-for="item,index in object.name">{{item+"_"+index}}</p>

        <ul>
            <template v-for="item,index,idx in object">
                <li>{{idx+'_'+item+'_'+index}}</li>
            </template>
        </ul>


        <div>
            <template v-for="item,index,idx in object":key="index+''">
                <li>{{idx+'_'+item+'_'+index}}</li>
            </template>
        </div>
        

    </div>

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

    <script>
        function FistFunctionFmethod() {
            alert("开始学习Vue.js")
            const app = Vue.createApp({
                data: function () {
                    return {
                        meage: ["ABC", "ERT", "GHU"],

                        object: {
                            name: 'shimpoy',
                            age: 23,
                            sex: '男',
                            height: "190",}

                    }
                },
                methods: {
                    update: function () {
                        for (var i in this.meage) {
                            console.log(i)
                        }
                        this.meage.forEach(function (item, index, arr) {

                        })
                    }


                }
            })
            app.mount("#app")

        }
        FistFunctionFmethod()
    </script>


</body>

</html>

 

下面这个案例 带你去解决上面所提到的基础问题 下面吧效果图展示一下

 

第一点:数组的遍历

 

 

  message: ["我是数据onOne1", "我是数据onOne2", "我是数据onOne3", "我是数据onOne4"]
   <!-- !对象的遍历方式 -->
   <ul>
       <li v-for="item,index in message">{{"下标"+index+'属性值'+item}}</li>
   </ul>
index是下标的值 属性值是 item

 

第二点 对象的遍历

 

  const app = Vue.createApp({
      data: function () {
          return {
              message: ["我是数据onOne1", "我是数据onOne2", "我是数据onOne3", "我是数据onOne4"],
              object: {
                  id: "90081",
                  name: "我是对象对象的属性为姓名",
                  age: "23",
                  sex: "男",
                  height: "1.78cm",
                  book: '狼人的诱惑'
              },
如果是多个对象我这样一遍一遍的复制 麻烦吗?

 第三点 数组中套用对象

这是我们要做的事情

 

   Big: [{
       id: "900801",
       name: "我是对象对象的属性为姓名",
       age: "15",
       sex: "男",
       height: "1.78cm",
       book: '狼人的诱惑'
   }, {
       id: "90082",
       name: "我是对象对象的属性为姓名",
       age: "25",
       sex: "男",
       height: "1.78cm",
       book: '狼人的诱惑'
   }, {
       id: "90083",
       name: "我是对象对象的属性为姓名",
       age: "2345",
       sex: "男",
       height: "1.78cm",
       book: '狼人的诱惑'
   }, {
       id: "90084",
       name: "我是对象对象的属性为姓名",
       age: "2345",
       sex: "男",
       height: "1.78cm",
       book: '狼人的诱惑'
   }, {
       id: "90085",
       name: "我是对象对象的属性为姓名",
       age: "2345",
       sex: "男",
       height: "1.78cm",
       book: '狼人的诱惑'
   }],

为了更好的展示出来我用表格的形式展示出来了 如下图所示  这才是我们学习框架的目的

 第四点 对象中套用数组 

     objectNum: {
         id: "1001",
         name: "数组中调用对象该如何调用",
         age: "17",
         sex: "男",
         height: "1.78cm",
         book: [
             "《星辰大海1》",
             "《星辰大海2》",
             "《星辰大海3》",
             "《星辰大海4》",
         ]
     }

 

  <!-- 对象中套用数组该如何调用 -->
  <!-- 如果是对象 -->
  <p v-for="item,index,idx in objectNum" class="big">
      {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}
      <p>{{objectNum.id}}</p>
      <!-- 从对象中找到数组在按照下标拿出数据 -->
      <p>{{objectNum.book[2]}}</p>
  </p>

 数组和对象的用法有很多我只是将常用的方式表达出来 下面吧完整的d代码放在下面

<!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>Document</title>
</head>
<style>
    * {
        font-size: 20px;
    }
    
    h1{
        width: 100%;
        height: 40px;
        line-height: 40px;
        color: red;
        background-color: rgb(255, 255, 255);
        /* opacity: 0.6; */
    }

    li {
        border: 1px solid red;
        height: 60px;
        float: left;
        width: 16%;
        list-style: none;
    }

    button {
        background-color: aliceblue;
        color: lightcoral;
        width: 200px;

        border-radius: 23px;
    }

    .big {
        width: 19%;
        border-left: 1px solid green;
    }


    .one {
        width: 100%;
    }

    table {
        width: 80%;
        margin: auto;
        border: 2px solid black;
    }

    td {
        width: 20%;
        height: 30%;
        background-color: rgb(202, 255, 213);
        color: red;
    }
</style>

<body>

    <div id="app">
        <!-- !对象的遍历方式 -->
        <ul>
            <li v-for="item,index in message">{{"下标"+index+'属性值'+item}}</li>
        </ul>
        <h1>数组的遍历 是一个一个的值 </h1>
        <ul>
            <!--!数组的遍历方式 -->
            <li v-for="item in message" :>{{item}}</li>
        </ul>
        <button @click="add">我是数组的遍历方式</button>


        <div>
            <ul>
                <!-- 编号 值 属性 -->
                <li v-for="item,index,idx in object" class="big">
                    {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}</li
                    
                <li v-for="item,index,idx in object1" class="big">
                    {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}</li>

                <li v-for="item,index,idx in object3" class="big">
                    {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}</li>
                <li v-for="item,index,idx in object4" class="big">
                    {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}</li>
                <li v-for="item,index,idx in object5" class="big">
                    {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}</li>
            </ul>
        </div>
        <h1>对象的遍历方式</h1>




        <!--!数组中有对象如何遍历-->
        <!-- 第一步 我创建一个数组 -->


        <table>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>身高</th>
                <th>书本</th>
            </tr>
            <!-- item,index -->
            <tr v-for="item,index in Big">
                <td>{{item.id}}</td>
                <td>{{item.name}}</td>
                <td>{{item.age}}</td>
                <td>{{item.sex}}</td>
                <td>{{item.height}}</td>
                <td><button>增加</button></td>
                <td><button>删除</button></td>
                <td><button>修改</button></td>
            </tr>
        </table>
        <h1>数组与对象的探索历程</h1>

        <!-- 对象中套用数组该如何调用 -->
        <!-- 如果是对象 -->
        <p v-for="item,index,idx in objectNum" class="big">
            {{'编号'+idx+'&nbsp;&nbsp;对象的值'+item+'&nbsp;&nbsp;对象的属性'+index}}
            <p>{{objectNum.id}}</p>
            <!-- 从对象中找到数组在按照下标拿出数据 -->
            <p>{{objectNum.book[2]}}</p>
        </p>






    </div>

    <!-- <script src="../Day03Vue/js/vue.js"></script> -->
    <!-- <script src="https://unpkg.com/vue@next"></script>
     -->
    <script src="./js/vue.js"></script>

    <script>
        function FistFunctionFmethod() {
            // alert("开始学习Vue.js")
            const app = Vue.createApp({
                data: function () {
                    return {
                        message: ["我是数据onOne1", "我是数据onOne2", "我是数据onOne3", "我是数据onOne4"],
                        object: {
                            id: "90081",
                            name: "我是对象对象的属性为姓名",
                            age: "23",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'

                        },
                        object1: {
                            id: "90082",
                            name: "我是对象对象的属性为姓名",
                            age: "45",
                            sex: "男",
                            height: "1.79cm",
                            book: '狼人的诱惑'
                        },

                        object3: {
                            id: "90083",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        },

                        object4: {
                            id: "90084",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        },
                        object5: {
                            id: "90085",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        },
                        Big: [{
                            id: "900801",
                            name: "我是对象对象的属性为姓名",
                            age: "15",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        }, {
                            id: "90082",
                            name: "我是对象对象的属性为姓名",
                            age: "25",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        }, {
                            id: "90083",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        }, {
                            id: "90084",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        }, {
                            id: "90085",
                            name: "我是对象对象的属性为姓名",
                            age: "2345",
                            sex: "男",
                            height: "1.78cm",
                            book: '狼人的诱惑'
                        }],
                        objectNum: {
                            id: "1001",
                            name: "数组中调用对象该如何调用",
                            age: "17",
                            sex: "男",
                            height: "1.78cm",
                            book: [
                                "《星辰大海1》",
                                "《星辰大海2》",
                                "《星辰大海3》",
                                "《星辰大海4》",
                            ]

                        }


                    }





                },
                methods: {
                    add: function () {
                        alert("111")
                        this.message.splice(2, 0, "P")
                    }
                }
            })
            app.mount("#app")

        }
        FistFunctionFmethod()
    </script>


</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1. 云计算简介

1.2 云计算的定义和分类 云计算的定义 美国国家标准与技术研究院&#xff08;NIST&#xff09;定义&#xff1a; 云计算是一种模型&#xff0c;它可以实现随时随地、便捷地、随需应变地从可配置计算资源共享池中获取所需的资源&#xff08;例如&#xff0c;网络、服务器、存…

【记录】终端如何 进入conda(base) 环境,如何退出 conda(base)环境,终端快速进入Jupyter notebook的方法

目录一、终端 进入 conda&#xff08;base&#xff09; 环境二、终端 退出 conda&#xff08;base&#xff09; 环境三、终端进入 Jupyter notebook 的方法一、终端 进入 conda&#xff08;base&#xff09; 环境 --->> win R : 输入cmd 回车&#xff0c;进入终端界面。…

什么是微服务?怎么测试?今天一次性讲清楚...

01、什么是微服务 Adrian Cockcroft对微服务的表述&#xff1a;loosely couped service oriented architecture with bounded context。 这里涉及两个微服务的概念&#xff1a; loosely couped&#xff1a;松耦合 松耦合可以引申出其他概念&#xff0c;如各自独立&#xff0c…

坚持软件自主可控,打造国产化公文交换系统

编者按&#xff1a;软件自主可控是什么意思&#xff1f;企业如何对自己使用的软件做到自主可控&#xff1f;本文分析了软件自主可控的概念及意义&#xff0c;并通关相关案例展示了国产化低代码平台是如何助力企业打造公文交换系统的。 软件自主可控的意义 说到软件的自主可控&…

【分享 10 个日常使用的脚本】

&#x1f935;‍♂️ 个人主页老虎也淘气 个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f44d;&#x1f3fb; 收藏…

第十节:继承【java】

目录 &#x1f4d8;1.1为什么需要继承 &#x1f4d2;1.2 继承概念 &#x1f4d7;1.3 继承的语法 &#x1f4d5;1.4 父类成员访问 &#x1f3b1;1.4.1 子类中访问父类的成员变量 &#x1f38e;1.4.2 子类中访问父类的成员方法 &#x1f4d9;1.5 super关键字 &#x1f4d…

基于Matlab利用移动目标指示雷达抑制地面杂波(附源码)

目录 一、构建雷达系统 二、定义目标 三、杂波 四、仿真接收到的脉冲和匹配滤波器 五、使用三脉冲消除器执行 六、使用交错PRF模拟接收到的脉冲 七、对交错的 PRF 执行 八、总结 九、程序 本示例显示了移动目标指示 &#xff08;MTI&#xff09; 雷达的设计&#xff0…

《Java》private、protected、public区别及解析

我们今天来给大家解析一下Java中四种修饰类型的区别。 那么有的老铁就疑惑了&#xff0c;文章名称不是说三种吗&#xff1f;其实还有一种隐藏的修饰类型&#xff08;默认类型&#xff09;英文翻译过来的话是define&#xff0c;这就是我们什么都不修饰&#xff0c;例如&#xff…

【C/C++动态内存 or 柔性数组】——对动态内存分配以及柔性数组的概念进行详细解读(张三 or 李四)

目录前言&#xff08;栈区、堆区、静态区&#xff09;动态内存函数malloc与freecalloc与freerealloc与free常见的动态内存错误经典笔试题&#xff08;再见张三&#xff09;柔性数组前言&#xff08;栈区、堆区、静态区&#xff09; 请耐心看完&#xff0c;看完后就会对内存中的…

天玑9200领跑背后,高端芯片掀起蝴蝶效应

过去一年&#xff0c;天玑9000让联发科在高端旗舰机市场掀起了一场“旋风”。全球知名市场调研机构Counterpoint Research发布的报告显示&#xff0c;联发科在全球和中国智能手机芯片市场份额中连续八个季度保持第一的领先地位&#xff0c;且在高端手机市场的份额有显著增长。另…

PowerShell 美化(谁不想要一个好看的终端呢)

PowerShell 美化安装powershellScoop 安装Oh My Posh安装字体设置应用主题花里胡哨的折腾&#xff08;bushi 多种主题任君挑选 安装powershell 地址&#xff1a;https://github.com/PowerShell/PowerShell/releases 本文主要使用 Oh My Posh 进行美化 地址&#xff1a;https…

C语言之指针(中)

目录 前言 一、字符指针 1.用法&#xff08;两种&#xff09; 2.例子 二、指针数组 三、数组指针 1.数组指针的定义 1.概念 2.例子 2.数组名 3.使用 1.使用的情景 2.例子 四、数组参数、指针参数 1.数组传参 2.指针传参 五、函数指针 1.函数的地址 2.函数指针 3.例子 4.两个特…

【C++】泛型编程之模板初阶

文章目录1. 泛型编程2. 模板2.1 模板的概念3. 函数模板3.1 函数模板概念3.2 函数模板语法3.3 函数模板的原理3.4 函数模板的实例化3.5 模板参数的匹配原则3.6 普通函数与函数模板的区别4. 类模板4.1 类模板语法4.2 类模板的实例化4.3 类模板与函数模板区别4.4 类模板分文件编写…

Word控件Spire.Doc 【文本】教程(17) ;在Word中设置文本方向

Spire.NET的Spire.是MicrosoftDoc人员对Word文档进行操作打印的.NET类库。帮助单独安装Microsoft Word在开发环境下&#xff0c;轻松便捷地创建、编辑、转换和转换Word文档。拥有近10个专业开发经验Spire系列办公文档开发打印工具&#xff0c;专注于创建、编辑、转换和Word/Exc…

C++设计模式---组合模式

文章目录使用场景组合模式的定义安全组合模式使用场景 组合模式和类与类之间的组合是不同的概念。 组合模式主要用来处理树形结构的数据&#xff0c;如果要表达的数据不是树形结构&#xff0c;就不太适合组合模式。 比如我们有一个目录结构&#xff1a; 这个目录我们把它绘…

图解LeetCode——1704. 判断字符串的两半是否相似(难度:简单)

一、题目 给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半&#xff0c;前一半为 a &#xff0c;后一半为 b 。 两个字符串 相似 的前提是它们都含有相同数目的元音&#xff08;a&#xff0c;e&#xff0c;i&#xff0c;o&#xff0c;u&#xff0c;A&#xff0c;E&…

几分钟实现对恶意IP地址进行拦截,腾讯云Web防火墙实在太香了!

一、概述 在平时上网中&#xff0c;我们经常听到“xxx被拉入黑名单”、“把xxx加入白名单”&#xff0c;黑白名单成了禁止访问和允许访问的代名词&#xff0c;黑白名单是一种常见的安全机制&#xff0c;用于隔离流量&#xff0c;然后对隔离的流量采取特定操作。 黑名单代表只…

Redis高可用之持久化

一 Redis高可用 什么是高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供正常…

Pytorch实战:基于鲸鱼WOA优化1DCNN的轴承故障诊断

目录 0.引言 1.关键点 2.WOA优化1DCNN超参数实战 2.1 数据准备 2.2 1DCNN故障诊断建模 2.3 采用WOA优化1DCNN超参数 0.引言 采用1DCNN进行轴承故障诊断建模&#xff0c;并基于鲸鱼优化算法WOA对1DCNN的超参数进行优化&#xff0c;以实现更高的精度。建立一个两层的1DCNN&a…

【Transformers】第 9 章 :处理很少或没有标签

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…