Vue指令

作者: Invictus_2635 | 来源:发表于2020-05-25 00:24 被阅读0次

    1.  v-el 获取dom对象

        1.0  v-el

            <div id="div" v-el:mydiv>dom</div>

            methods:{

                console.log(this.$els.mydiv.innerText);//dom

                console.log(document.getElementById('div').innerHTML);

            }

        2.0  ref

            <div ref="mydom">dom</div>

            <组件 ref="mycom"></组件>

            methods:{

                console.log(this.$refs.mydom.innerHTML);//dom

                console.log(this.$refs.mycom);//同时也可以获取组件数据

            }

    2.  v-on 监听dom事件(

        2.1 简写[@]  

        <div @click='myClick'>点击事件</div>

        <div @mouseenter='myMouseenter'>鼠标放上事件</div>

        <div @mouseleave='myMouseleave'>鼠标离开事件</div>

        <input @input='change'>输入即触发</input>

        当我们绑定的事件是keyup、keypress、keydown键盘事件时,而且需要判断按下是回车时。这在以前我们需要判断事件对象的keyCode,虽然功能特别简单,但是每次去写还是特别麻烦。vue也想到了这点,只需要在键盘事件后面添加一个.enter修饰符即可。

        @keydown.enter='mykeydown'

        2.2 修饰符:

        .stop阻止事件继续传播 (阻止冒泡)

        .prevent事件不再重载页面

        .capture使用事件捕获模式,即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理

        .self只当在 event.target 是当前元素自身时触发处理函数

        .once事件将只会触发一次

        .passive告诉浏览器你不想阻止事件的默认行为

    v-bind 内容变量替换

        简写[:]

            <a :href="baidu">百度</a>

            <a v-bind="{href:'+baidu'}">di</a>

            <a href="http://www.baidu.com"></a>

            data:{

                baidu:'http://www.baidu.com'

            }

    v-for

        <div v-for="item in list" :key="item.list">

        data(){

            list:[

                {text:1},

                {text:2}

            ]

        }

    v-html+text 文本替换

        <div v-html="text">   //TEXT

        <div v-text="text">    //<h1>TEXT</h1>

        data(){

            text: '<h1>TEXT</h1>'

        }

    V-if+ else  +v-show  显示判断

    <a v-if="ok">yes</a>

    < av-else>No</a>

    <h1 v-show="ok">hello world</h1>

    v-if有更高的切换开销

    v-show有更高的初始渲染开销。

    因此,如果要非常频繁的切换,则使用v-show较好;如果在运行时条件不太可能改变,则v-if较好


    v-if的值是false,则这个元素被销毁,不在dom中

    v-show的元素会始终被渲染并保存在dom中,它只是简单的切换css的dispaly属性

    v-model 双向数据绑定

        <input type="text" v-model="user.uname" id="username"> 

        {{user.uname}} //与输入内容一致

        data(){

            user:{uname: '',},

        }

        修饰符:

        .lazy 以通过这个修饰符,转变为在change事件再同步(改变完成后显示同步)

         .trim    去掉首尾空格

    相关文章

      网友评论

          本文标题:Vue指令

          本文链接:https://www.haomeiwen.com/subject/zszisxtx.html