zoukankan      html  css  js  c++  java
  • Vue练习一:01_01_控制div属性

    Demo 在线地址:

    https://sx00xs.github.io/test/1/index.html

    ---------------------------------------------------------------

    ide: vscode

    文件格式:.vue

    需求:5 个按钮,分别控制 1 个 100px * 100px 的 div 的各种属性(变宽/变高/变色/隐藏/重置)

    模板:

    1  input 元素中,使用 v-for render 出 5 个按钮。

    2  input元素绑定 click 事件,并传入 index 参数,用于判定进行何种操作

    3  div 元素 使用 v-bind绑定 style 至 styleObject,这是一个对象,用于下面设定 div 的宽/高/背景色 属性。

    4  div 元素 使用 v-show指令绑定数据 show,这是一个bool值,用于设定 div 元素的 显示/隐藏。

    脚本:

    1,data 数据:

    a show,用于 v-show指令,显示/隐藏 div

    b styleObject,对象,用于绑定 div 的style内联样式

    c buttonsval,用于v-for指令,提供按钮的 value

    2, 方法:

    handleChange,此方法接收一个参数:index ,即按钮索引,用于判定按钮应执行何种操作。
    方法中使用switch,根据传入的 index 分别执行相应操作。

    ----------------------------------------------------------------

    <template>
      <div id="outer">
        <input 
        type="button" 
        v-for="(val,index) in buttonsval" 
        :value="val" 
        :key="val"
        @click="handleChange(index)"
        />
        <div class="div1" :style="styleObject" v-show="show"></div>
      </div>
    </template>
    <script>
    export default {
      data(){
        return{
          show:true,
          styleObject:{
            '',
            height:'',
            background:''
          },
          buttonsval:[
            '变宽',
            '变高',
            '变色',
            '隐藏',
            '重置'
          ],
          
        }
      },
      methods:{
        handleChange(index){
          switch(index){
            case 0:
              this.styleObject.width='200px';
              break;
            case 1:
              this.styleObject.height='200px';
              break;
            case 2:
              this.styleObject.background='red';
              break;
            case 3:
              this.show=false;
              break;
            case 4:
              this.styleObject.width='100px';
              this.styleObject.height='100px';
              this.styleObject.background='black';
              this.show=true;
          }
        }
      }
    }
    </script>
  • 相关阅读:
    2014年辛星完全解读Javascript第六节 对象
    2014年辛星完全解读Javascript第五节 break和continue与错误处理
    2014年辛星完全解读Javascript第四节 流程控制语句
    2014年辛星完全解读Javascript第三节
    移动端滑动卡顿问题
    移动端iOS阻止橡皮筋效果
    inline-block 元素之间的空白问题
    初识webview
    原型链、prototype、_proto_那些事
    VMware workstation转到vsphere解决办法
  • 原文地址:https://www.cnblogs.com/sx00xs/p/11264423.html
Copyright © 2011-2022 走看看