vue快速入门(十二)v-key索引标志

注释很详细,直接上代码

上一篇

新增内容

  1. v-key的使用场景
  2. 数组筛选器的使用
    源码
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    #all{
      margin: 100px auto;
      padding-bottom: 10px;
      width: 300px;
      height: auto;
      background: linear-gradient(rgba(4, 226, 242, 0.5),rgba(3, 255, 117, 0.5));
      border-radius: 20px;
      box-shadow: 15px 15px 30px rgba(0,0,0,0.5);
    }
    #title{
      text-align: center;
      font-size: 27px;
      font-family: 楷体;
      font-weight: 800;
      padding-top:20px;
    }
    #all ul{
      list-style: none;
      margin: 0px 30px 10px 30px;
    }
    #all ul li{
      margin: 30px 0;
      height: 35px;
      line-height: 35px;
      padding: 0 25px;
    }
    #all ul div{
      display: inline-block;
    }
   #start{
      width: 110px;
    }
    li{
      background-color: #ffffff77;
      border-radius: 10px;
      backdrop-filter: blur(5px);
    }
    button{
      /* 鼠标样式 */
      cursor: pointer;
      border-radius: 5px;
      border: none;
      /* 其实没啥很明显的效果,单纯是不知道写啥好了 */
      box-shadow: 5px 5px 20px rgba(13, 239, 198, 0.5);
      background-color: rgba(0,0,0,0);
    }
  </style>
</head>
<body>
  <!-- 挂载点 -->
  <div id="root">
    <div id="all">
      <div id="title">
        收复失地
      </div>
      <ul>
        <!-- 重点就是这个v-key索引,简写:key 
             我们会设为自己的id-->
        <li v-for="(item,index) in areas" :key="item.id">
          <span>{{item.name}}</span>
          <div id="start">
            <span v-for="(item_1,index_1) in item.difficulty">⭐</span>
          </div>
          <button @click="dis(item.id)">征讨</button>
        </li>
      </ul>
    </div>
  </div>

  <!-- 导入vue的js代码 -->
  <script src="./lib/vue2.js"></script>

  <script>
    const app = new Vue({// Vue实例
      el: '#root',// 挂载点
      data: {// 数据
        areas:[
          {
            id:1,
            name:'蒙德',
            difficulty:1
          },
          {
            id:2,
            name:'璃月',
            difficulty:2
          },
          {
            id:3,
            name:'稻妻',
            difficulty:3
          },
          {
            id:4,
            name:'须弥',
            difficulty:4
          },
          {
            id:5,
            name:'枫丹',
            difficulty:5
          }
        ]
      },
      methods: {// 方法
        dis(id){
          // filter: 根据条件,保留满足条件的对应项,得到一个新数组
          this.areas=this.areas.filter(item=>item.id!=id)
        }
      }
    })
  </script>
</body>
</html>

效果演示

下一篇

相关推荐
aesthetician32 分钟前
Node.js v25 重磅发布!革新与飞跃:深入探索 JavaScript 运行时的未来
javascript·node.js·vim
知识分享小能手3 小时前
uni-app 入门学习教程,从入门到精通,uni-app基础扩展 —— 详细知识点与案例(3)
vue.js·学习·ui·微信小程序·小程序·uni-app·编程
demi_meng4 小时前
reactNative 遇到的问题记录
javascript·react native·react.js
MC丶科5 小时前
【SpringBoot 快速上手实战系列】5 分钟用 Spring Boot 搭建一个用户管理系统(含前后端分离)!新手也能一次跑通!
java·vue.js·spring boot·后端
千码君20165 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
lijun_xiao20097 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔7 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
杰克尼7 小时前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder7 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
90后的晨仔7 小时前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js