zoukankan      html  css  js  c++  java
  • Vue的基础指令

    v-bind绑定标签属性
    通过添加v-bind:标签属性来控制标签的属性,设置后自动查询vue里面的数据,通常简写成:标签属性,也可以传入对象,通过对象的值来控制是否为真

    <body>
        <div id="app">
            <a v-bind:href="BaiDuUrl">{{txt}}</a>
            <p :class="{txtPink:isPink}">新年新气象</p>
        </div>
    </body>
    <script>
            let vm = new vue({
                el:"#app",
                data:{
                    BaiDuUrl:"https://www.baidu.com/",
                    txt:"百度",
                    isPink:true
                }
            })
     </script>
    </html>
    <style>
    .txtPink{
        color: pink;
    }
    </style>

     

    v-on监听事件
    v-on指令用于绑定事件监听器,通常简写成@事件类型(click,mouseenter,mouseleave...)="表达式",表达式可以是方法名(方法需要写在methods对象里面,方法里面可以接收事件对象),逻辑等.

    <body>
        <div id="app">
            <p>{{num}}</p>
            <button v-on:click="num+=2">加2</button>
            <button @click="numCut">减2</button>
        </div>
    </body>
    <script>
            let vm = new Vue({
                el:"#app",
                data:{
                    num:20
                },
                methods: {
                    numCut(e){
                        this.num -= 2 ;
                        console.log(e)
                    }
                },
            })
     </script>

    电脑刺绣绣花厂 http://www.szhdn.com 广州品牌设计公司https://www.houdianzi.com

    v-on可以添加事件修饰符进行事件的扩展

    .stop
    .prevent
    .capture
    .self
    .once

    <!-- 阻止单击事件冒泡 -->
    <a v-on:click.stop="doThis"></a>
    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    <!-- 修饰符可以串联 -->
    <a v-on:click.stop.prevent="doThat"></a>
    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>
    <!-- 添加事件侦听器时使用事件捕获模式 -->
    <div v-on:click.capture="doThis">...</div>
    <!-- 只当事件在该元素本身(比如不是子元素)触发时触发回调 -->
    <div v-on:click.self="doThat">...</div>
    <!-- 点击事件将只会触发一次 -->
    <a v-on:click.once="doThis"></a>

     

    v-if和v-show指令控制显示/隐藏
    v-show是对样式层面的控制,v-if是对dom节点的控制,并且可以设置v-else if,v-else进行扩展

    <body>
        <div id="app">
            <h1 v-show="isShow">标题</h1>
            <p v-if="isShow">第一段文字</p>
            <p v-else-if="num==1">第二段文字</p>
            <p v-else>第三段文字</p>
            <button @click="isShow=!isShow">显示/隐藏</button>
        </div>
    </body>
    <script>
            let vm = new Vue({
                el:"#app",
                data:{
                    isShow:true,
                    num:0,
                },
            })
     </script>

     

    v-for指令进行循环
    当需要循环Vue里面的数据渲染到页面时可以使用v-for指令,使用 (item,index) in list的语法,通常后面设置:key="唯一值",用来高效的更新DOM.如果传入对象可以使用(item,key,index) in obj,取到对象的键值

    <body>
        <div id="app">
            <ul>
                <li v-for="(item,index) in lists" :key="item">第{{index+1}}个:{{item}}</li>
            </ul>
            <p v-for="(item,key,index) in someOne" :key="key">第{{index+1}},{{key}}是{{item}}</p>
        </div>
    </body>
    <script>
            let vm = new Vue({
                el:"#app",
                data:{
                    lists:['段誉','王语嫣','虚竹','乔峰'],
                    someOne:{
                        '早上':'吃早餐',
                        '中午':'吃午饭',
                        '晚上':"吃晚饭"
                    }
                },
            })
     </script>
     <!-- 页面数据
     第1个:段誉
    第2个:王语嫣
    第3个:虚竹
    第4个:乔峰
    第1,早上是吃早餐
    
    第2,中午是吃午饭
    
    第3,晚上是吃完饭
      -->
    

     

    v-model指令
    v-model的值是,vue接收表单元素的值的变量名,可以实现双向数据绑定,通过改变v-model的txt值,使绑定txt值的元素发生改变.
    v-model限制在input、select、textarea、components中使用,修饰符.lazy(取代 input 监听 change 事件)、.number(输入字符串转为有效的数字)、.trim(输入首尾空格过滤)
    v-model 本质上包含了两个操作:

    1. v-bind 绑定input元素的value属性
    2. v-on 指令绑定input元素的input事件,使用data中的数据更新为input元素的value
    <body>
        <div id="app">
            <p >{{txt}}</p>
            <input type="text" v-model="txt">
        </div>
    </body>
    <script>
            let vm = new Vue({
                el:"#app",
                data:{
                    txt:'默认文字'
                },
            })
     </script>
  • 相关阅读:
    记一则玄乎奇玄的ADG误删自救事件
    ORACLE 日常信息查询sql
    Linux脚本判断磁盘容量
    postgresql数据库创建触发器记录表修改时间
    centos7关闭防火墙
    centos7 安装mysql5.7(二进制tar包方式)
    Oracle11G RMAN-06214: Datafile Copy /u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_cpbd.f
    SQLPlus中set命令
    oradehub命令
    记一报错解决:ORA-00845: MEMORY_TARGET not supported on this system
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/13825796.html
Copyright © 2011-2022 走看看