加加减减案例

96 阅读1分钟

加加减减案例

目标:点击生成按钮,新增一个li(随机数字)和删除按钮,

点击删除按钮,删除对应的li和值

提示:数组渲染列表。生成和删除和围绕数组操作

1 渲染当前内容框的数据

2 修改内容框的数据 item 数组中的数据

3 删除按钮添加点击事件 del删除 i下标

4 生成按钮添加添加事件

5 解释以下代码:

        add() {
          this.arr.push(Math.floor(Math.random() * 20));
        },
        del(index) {
          this.arr.splice(index, 1);
        }
      },

add():定义了一个名为add的方法,没有参数。

this.arr:表示当前组件中的arr数组。

push():是JavaScript中Array对象的一个方法,用于向数组末尾添加元素。

Math.random():是JavaScript中的一个函数,生成一个0到1之间的随机数。

Math.floor():是JavaScript中的一个函数,将小数向下取整为整数。

Math.floor(Math.random() * 20):生成0到19之间的随机整数。

最终效果是将一个0到19之间的随机整数添加到arr数组的末尾。

del(index):定义了一个名为del的方法,接收一个参数index。

this.arr:表示当前组件中的arr数组。

splice():是JavaScript中Array对象的一个方法,用于向数组中添加或删除元素。

splice(index, 1):从数组中删除指定位置(index)的一个元素(1)。

最终效果是从arr数组中删除指定位置(index)的一个元素。

代码如下:
<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>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <ul>
      <li v-for="(item, i) in arr" :key="item">
        <span>{{ item }}</span>
        <button @click="del(i)">删除</button>
      </li>
    </ul>
    <button @click="add">生成</button>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        arr: [1, 5, 3]
      },
      methods: {
        add() {
          this.arr.push(Math.floor(Math.random() * 20));
        },
        del(index) {
          this.arr.splice(index, 1);
        }
      },
    })
  </script>
</body>
</html>