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>

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

相关推荐
徐小夕1 小时前
JitWord Office预览引擎:如何用Vue3+Node.js打造丝滑的PDF/Excel/PPT嵌入方案
前端·vue.js·github
晴殇i1 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
孟陬2 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
BER_c2 小时前
前端权限校验最佳实践:一个健壮的柯里化工具函数
前端·javascript
兆子龙2 小时前
别再用 useState / data 管 Tabs 的 activeKey 了:和 URL 绑定才香
前端·架构
sudo_jin2 小时前
前端包管理器演进史:为什么 npm 之后,Yarn 和 pnpm 成了新宠?
前端·npm
敲敲敲敲暴你脑袋2 小时前
写个添加注释的vscode插件
javascript·typescript·visual studio code
叁两3 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
golang学习记3 小时前
GitLens 十大神技:彻底改变你在 VS Code 中的 Git 工作流
前端·后端·visual studio code
SuperEugene3 小时前
后台权限与菜单渲染:基于路由和后端返回的几种实现方式
前端·javascript·vue.js