zoukankan      html  css  js  c++  java
  • Vue,品牌列表案例(仅添加,删除)

    Vue,品牌列表案例(仅添加,删除)

      提到的 => 和 some 等使用方法需要看,好多语法要看

      => 这个this 指向的具体作用

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="utf-8">
      5         <title></title>
      6         <script src="../js/vue.js"></script>
      7         <link rel="stylesheet" type="text/css" href="../css/bootstrap.css"/>
      8     </head>
      9     <body>
     10         <div id="app">
     11             
     12             
     13             <div class="panel panel-primary">
     14                 <div class="panel-heading">
     15                     <h3 class="panel-title">添加品牌</h3>
     16                 </div>
     17                 <!-- form-inline 填在父元素里, 里面的子元素 占一行 -->
     18                 <div class="panel-body form-inline">
     19                     <label>
     20                         Id:
     21                         <input type="text" class="form-control" v-model="id">
     22                     </label>
     23                     
     24                     <label>
     25                         Name:
     26                         <input type="text" class="form-control" v-model="name">
     27                     </label>
     28                 
     29                     <!-- 在Vue中,使用事件绑定机制,为元素指定处理函数的时候,如果加了小括号,就可以给函数传参了
     30                       不加()也可以, 只不过不能传参-->
     31                     <input type="button" class="btn btn-primary" value="添加" @click="add()"/>
     32                 </div>
     33             </div>
     34             
     35             
     36             <table class="table table-bordered table-hover table-striped">
     37                 <thead>
     38                     <tr>
     39                         <th>Id</th>
     40                         <th>Name</th>
     41                         <th>Ctime</th>
     42                         <th>Operation</th>
     43                     </tr>
     44                 </thead>
     45                 <tbody>
     46                     <tr v-for="item in list" :key="item.id">
     47                         <td>{{ item.id }}</td>
     48                         <td>{{ item.name }}</td>
     49                         <td>{{ item.ctime }}</td>
     50                         <td>
     51                             <!-- 使用 .prevent 阻止默认行为, 否则超链接跳转页面  -->
     52                             <a href="#" @click.prevent="del(item.id)">删除</a>
     53                         </td>
     54                     </tr>
     55                 </tbody>
     56             </table>
     57         </div>
     58     </body>
     59 </html>
     60 <script>
     61     var vm = new Vue({
     62         el: '#app',
     63         data:{
     64             id:'',
     65             name:'',
     66             list:[
     67                 { id: 1, name: '奔驰', ctime: new Date() },
     68                 { id: 2, name: '宝马', ctime: new Date() },
     69                 { id: 3, name: '五菱宏光', ctime: new Date() }
     70             ]
     71         },
     72         methods:{
     73             add(){
     74                 // console.log("5555")
     75                 //分析:
     76                 //1. 获取到 id 和 name , 直接从data 上面获取
     77                 //2. 组织出一个对象
     78                 //3. 把这个对象, 调用 数组的 相关方法, 添加到data 的 list 中
     79                 //4. 注意: 在Vue中, 已经实现了数据的双向绑定, 每当我们修改了 data 中的数据, Vue
     80                 // 默认监听 数据的改动, 自动把最新的数据, 应用到页面上;
     81                 
     82                 // 5. 当我们意识到上面的第四步的时候,就证明大家已经入门Vue了, 我们更多的是在进行 VM中
     83                 // Model 数据的操作, 同时, 在操作 Model数据的时候, 指定的业务逻辑操作
     84             
     85                 var car = { id: this.id, name: this.name, ctime: new Date() }
     86                 this.list.push(car)
     87                 
     88                 // 将输入框清空, 否则输入的内容还在
     89                 this.id = this.name = ''
     90             },
     91             del(id){
     92                 // 分析:
     93                 // 1. 如何根据Id, 找到要删除这一项的索引
     94                 // 2. 如果找到索引了, 直接调用 数组的 splice 方法
     95                 
     96                 // 方法一:
     97                 // some 根据指定的条件判断 (循环)
     98                 // this.list.some((item, i) => {
     99                 //     if(item.id == id) {
    100                 //         //从索引为 i的位置开始删, 删1个
    101                 //         this.list.splice(i, 1)
    102                 //         // 在 数组的 some 方法中,如果 return true,就会立即终止这个数组的后续循环
    103                 //         return  true;
    104                 //     }
    105                 // })
    106                 
    107                 // 方法二
    108                 //数组查找当前索引
    109                 var index = this.list.findIndex(item => {
    110                     if (item.id == id) {
    111                         return true;
    112                     }
    113                 })
    114                 console.log(index)
    115                 
    116                 this.list.splice(index, 1)
    117             }
    118         }
    119     })
    120 </script>
  • 相关阅读:
    神经网络-FPN 19
    机器学习
    神经网络-DenseNet 18
    神经网路骨架:各自的特点统计
    转载:一步一步制作根文件系统
    设计模式博客
    【转】PowerPC平台linux设备移植
    【收藏】自己动手写编译器、连接器
    查看pthread线程库中锁的持有者方法
    【转】深入 Linux 的进程优先级
  • 原文地址:https://www.cnblogs.com/wo1ow1ow1/p/11013699.html
Copyright © 2011-2022 走看看