vue常用指令(v-for)

一、v-for 指令

  • 作用:
    • 根据数据生成列表结构

二、代码演示

1、在li标签中获取数组元素

  1. 代码

    js 复制代码
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        <div id="app">
          <ul>
            <!-- 在li标签中获取数组元素 -->
            <li v-for="(item, index) in arr">{{index+1}}.动物:{{item}}</li>
          </ul>
        </div>
      </body>
    
      <script src="js/vue.min.js"></script>
      <script>
        var Vm = new Vue({
          el: "#app",
          data: {
            //普通数组
            arr: ["猫", "狗", "长颈鹿"],
          },
          methods: {},
        });
      </script>
    </html>
  2. 测试结果:

2、v-for 结合 v-bind一起使用,显示对象

  1. 修改代码

    js 复制代码
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        <div id="app">
          <ul>
            <!-- 在li标签中获取数组元素 -->
            <li v-for="(item, index) in arr">{{index+1}}.动物:{{item}}</li>
          </ul>
    
          <br />
    
          <!-- v-for 结合 v-bind一起使用,显示对象 -->
          <h2 v-for="p in objArr" v-bind:title="p.age">{{p.name}}</h2>
        </div>
      </body>
    
      <script src="js/vue.min.js"></script>
      <script>
        var Vm = new Vue({
          el: "#app",
          data: {
            //普通数组
            arr: ["猫", "狗", "长颈鹿"],
            objArr: [
              { name: "张三", age: 18 },
              { name: "李四", age: 20 },
            ],
          },
          methods: {},
        });
      </script>
    </html>
  2. 测试结果

3、数组的添加和减少

  1. 代码修改

    js 复制代码
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        <div id="app">
          <ul>
            <!-- 在li标签中获取数组元素 -->
            <li v-for="(item, index) in arr">{{index+1}}.动物:{{item}}</li>
          </ul>
    
          <br />
    
          <!-- v-for 结合 v-bind一起使用,显示对象 -->
          <input type="button" value="增加" @click="add" />
          <input type="button" value="减少" @click="remove" />
          <h2 v-for="p in objArr" v-bind:title="p.age">{{p.name}}</h2>
        </div>
      </body>
    
      <script src="js/vue.min.js"></script>
      <script>
        var Vm = new Vue({
          el: "#app",
          data: {
            //普通数组
            arr: ["猫", "狗", "长颈鹿"],
            objArr: [
              { name: "张三", age: 18 },
              { name: "李四", age: 20 },
            ],
          },
          methods: {
            add: function () {
              this.objArr.push({ name: "钱七", age: 38 });
            },
            remove: function () {
              this.objArr.shift();
            },
          },
        });
      </script>
    </html>

    数组的长度变化,会同步更新到页面上 , 是响应式的。

相关推荐
袋鱼不重6 分钟前
解决 Web 端图片预览与下载颜色不一致的一种工程方案
前端·后端
风止何安啊12 分钟前
教你用 JS + AI 实现简单的爬虫,零门槛爬取网页信息
前端
cidy_9813 分钟前
codebase-memory-mcp 新手完全教程:让 AI 真正「理解」你的代码库
前端
牛奶20 分钟前
HTTPS你不知道的事
前端·https·浏览器
小小小小宇22 分钟前
前端 Vue 如何避免不必要的子组件渲染全解析
前端
稀土熊猫君31 分钟前
一个人能做出什么开源项目?
vue.js·后端·开源
cidy_981 小时前
codebase-memory-mcp 安装教程
前端
mt_z1 小时前
Webpack 与 Vite 完全指南
前端
灏仟亿前端技术团队1 小时前
B 端多弹窗越来越难维护?试试把弹窗交互 Promise 化
前端
奇奇怪怪的1 小时前
向量数据库选型与生产级实战
前端