• Vue常用指令


    引言:vue 的一些常用指令(逐步更新)。

    v-if 条件
    v
    -else 与v-if 搭配使用 v-else-if 与v-if 搭配使用
    v
    -show 显示与隐藏 v-for 循环 v-model 双向绑定数据 v-bind 属性绑定 语法糖“ : ”
    v
    -on 事件 语法糖“ @ ”
    v
    -text读取文本 ps :不能读取html标签 v-html 能读取html标签 v-once 只渲染一次(只执行一次) v-cloak 防闪烁(解决初始化慢导致页面闪动) v-pre 把标签内部的元素原位输出,比如无视“{{}}”

    Vue 初试,一个商品列表:

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>vue 购物车初试</title>
      6     <script type="text/javascript"src="js/vue.js"></script>
      7     <style type="text/css">
      8 
      9         [v-cloack]{
     10             display: none; /*防止屏幕闪动*/
     11         }
     12         table{
     13             border: 1px solid greenyellow;
     14             border-spacing: 5px;
     15             empty-cells: show;
     16         }
     17         th,td{
     18             padding: 8px 16px;
     19             border: 1px solid green;
     20             text-align: left;
     21         }
     22         th{
     23             background-color: #f7f7f7;
     24             color: #5c6b77;
     25             white-space: nowrap;
     26         }
     27         .main{
     28              500px;
     29             height: 500px;
     30             margin: 50px auto;
     31         }
     32 
     33 
     34     </style>
     35 </head>
     36 <body>
     37  <div class="app" v-cloak>
     38      <div class="main">
     39     <template v-if="list.length">
     40         <table>
     41             <thead>
     42             <tr>
     43                 <th></th>
     44                 <th>商品名称</th>
     45                 <th>商品单价</th>
     46                 <th>购买数量</th>
     47                 <th>操作</th>
     48             </tr>
     49             </thead>
     50             <tbody>
     51             <tr v-for="(item,index) in list">  <!--v-for 循环商品列表-->
     52                 <td>{{index+1}}</td><!-- 下标从0开始,但是序号从1,所以+1-->
     53 
     54                 <td>{{item.name}}</td> <!--商品名字-->
     55 
     56                 <td>{{item.price}}</td> <!--商品价格-->
     57 
     58                 <td><button @click="red(index)":disabled="item.count===1">-</button> <!--减少商品函数,同时绑定disable属性,如果商品数量==1 时失效-->
     59 
     60                 {{item.count}}
     61                     <button @click="add(index)">+</button>  <!--增加商品-->
     62                 </td>
     63                 <td>
     64                    <button @click="rem(index)">移除</button> <!--移除商品-->
     65                 </td>
     66             </tr>
     67             </tbody>
     68         </table>
     69         <div>总价:¥{{totalPrice}}</div>  <!--总价-->
     70     </template>
     71      <div v-else>购物车空</div>
     72  </div>
     73  </div>
     74  <script type="text/javascript">
     75      var app=new Vue({
     76          el:'.app',
     77          data:{
     78              list:[
     79                  {
     80                      id:1,
     81                      name:'iphone7',
     82                      price:'5000',
     83                      count:1
     84                  },
     85                  {
     86                      id:2,
     87                      name:'ipad',
     88                      price:'6000',
     89                      count:2
     90                  },
     91                  {
     92                      id:3,
     93                      name:'ip7',
     94                      price:'600',
     95                      count:1
     96                  }
     97              ]
     98          },
     99          computed:{
    100                 totalPrice:function () {
    101                     var total=0;
    102                     for (var i=0;i<this.list.length;i++){
    103                         var item=this.list[i];
    104                         total+=item.price*item.count;
    105                     }
    106                     return total.toString().replace(/B(?=(d{3})+$)/g,','); //正则表达式,将总价格以千位输出(每三位添加一个逗号)
    107                 }
    108          },
    109          methods:{
    110                 red:function (index) {
    111                     if (this.list[index].count===1)return; //如果商品数量为1函数停止 ,虽然有上面的disabled控制,但是添加这个可以增加可靠性
    112                     this.list[index].count--;
    113                 },
    114              add:function (index) {
    115                  this.list[index].count++; //增加商品量
    116              },
    117              rem:function (index) {
    118                  this.list.splice(index,1); //移除商 spilce 函数:可删除从 index 处开始的零个或多个元素
    119              }
    120          }
    121      })
    122  </script>
    123 </body>
    124 </html>

     您可以 :   点击这里查看效果

  • 相关阅读:
    数学基础之梯度
    背包九问心得
    如何判断机器是大端机还是小端机
    Matlab学习 2021年2月10日
    数字信号处理(超浓缩版)第一天
    matlab里的数据类型
    如何学习Matlab的帮助文档?& 如何去编写帮助文档
    fprintf 和 dlmwrite 在写数据时的区别
    lateinit 延迟初始化
    data class 在 Kotlin中的定义
  • 原文地址:https://www.cnblogs.com/wxhhts/p/9535004.html
Copyright © 2020-2023  润新知