zoukankan      html  css  js  c++  java
  • vue.js指令总结

    1.v-html

      用于输出真正html,而不是纯文本。

    2.v-text

      输出纯文本。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-html与v-text的区别</title>
        <script src="js/vue.min.js"></script>
    </head>
    <body id="body">
        <div v-html="showHTML"></div>
        <div v-text="showText"></div>
        <script>
            var ve=new Vue({
                el:'#body',
                data:{
                    showHTML:'<b><i>这里我们输出HTML,HTML标签将会不会显示,并且文本将会按照标签类型显示</i></b>',
                    showText:'<b>这里我们输出纯文本,HTML标签将会在浏览器上显示</b>'
                }
            })
        </script>
    </body>
    </html>

    3.v-show

      官方文档的定义是:将元素的显示设置为none或其原始值,具体取决于绑定值的真实性。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-show的使用</title>
        <script src="js/vue.min.js"></script>
    </head>
    <body>
        <div v-show="true" style="200px;height:200px;background:red;" id="app"></div>
        <script>
            var ve=new Vue({
                el:'#app'
            })
        </script>
    </body>
    </html>

    这里要说明一下v-show=“true”是显示,v-show="false'或者v-show="none'是隐藏,还有el:"#app"不可以省去,否则v-show会失效。

    4.v-bind

      用于html属性的数据绑定。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.min.new.js"></script>
        <style>
            .toGreen{background: green;}
            .toRed{background: red;}
            .toYellow{border:1px solid black;}
        </style>
    </head>
    <body>
        <div v-bind:class="{toGreen:isGreen,toRed:isRed}" style="200px;height:200px;" id="whatColor" v-on:click="changeColor()" class="toYellow"></div>
        <script>
            var ve=new Vue({
                el:'#whatColor',
                data:{
                    isGreen:true,
                    isRed:false
                },
                methods:{
                    changeColor:function(){
                        ve.isGreen=!ve.isGreen;
                        ve.isRed=!ve.isRed
                    }
                }
            })
        </script>
    </body>
    </html>

    3.v-on

      用于监听DOM事件。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-on的使用</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
        <div id="v-on" v-on:click="changeStatus">
            {{message}}
        </div>
        <script>
            var vOn=new Vue({
                el:'#v-on',
                data:{
                    message:'我喜欢vue.js'
                },
                methods:{
                    changeStatus:function(){
                        if(this.message=='我喜欢vue.js')
                        {
                            this.message='我不喜欢vue.js'
                        }
                        else
                        {
                            this.message="我喜欢vue.js"
                        }
                    }
                }
            })
        </script>
    </body>
    </html>

      注意:只有v-on和v-bind可以接参数,在指令后面用冒号指明属性和值绑定。

    4.v-model

      用于表单输入与应用状态的双向数据绑定。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-model的使用</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
        <div id="v-model">
            <input type="text" v-model="message">
            <p>{{message}}</p>
        </div>
        <script>
            var vModel=new Vue({
                el:'#v-model',
                data:{
                    message:''
                }
            })
        </script>
    </body>
    </html>

    5.v-if

      v-if接收bool类型。true的话则生成html,false则不生成。或者直接将元素remove掉。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-if的使用</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
        <div id="v-if">
            <p v-if="seen">我在闪烁</p>
        </div>
        <script>
            var vIf=new Vue({
                el:'#v-if',
                data:{
                    seen:true
                },
                methods:{
                    change:function(){
                        if(this.seen)
                        {
                            this.seen=false;
                        }
                        else
                        {
                            this.seen=true;
                        }
                    }
                }
            })
            setInterval(vIf.change,1000)
        </script>
    </body>
    </html>

    6.v-pre

    跳过瓷元素及其子元素,跳过大量没有指令的节点加快编译速度。

    7.v-cloak

    官方文档:该属性保留在元素上,直到关联的ViewModel完成编译。结合CSS规则,例如[v-cloak] { display: none },该指令可用于隐藏未编译的胡须绑定,直到ViewModel准备好。

    在vm未加载之前,html中的插值会存在,影响页面美观。在元素上添加v-cloak并在css中写入[v-cloak]{display:none;},vm加载之前,该元素一直隐藏,v-cloak指令存在,vm加载之后,元素显示,v-cloak指令消失。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.min.js"></script>
        <style>
            [v-cloak]{display: none;}
        </style>
    </head>
    <body>
        <div v-cloak>{{message}}</div>
    </body>
    </html>

    8.v-el

    在vue2.0之前的版本使用,vue2.0之后用ref代替。这里是用vm.$$.XX获取带v-el指令的元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.min.js"></script>
    </head>
    <body id="body">
        <div v-el="hi" style="100px;"></div>
        <script>
            var vm=new Vue({
                el:'#body'
            })
            alert(vm.$$.hi.style.width)
        </script>
    </body>
    </html>

     9v-for

    用于渲染列表项。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-for得使用</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
        <ul id="ul">
            <li v-for="(item,index) in items">
                {{item.message}}-{{index}}
            </li>
        </ul>
        <script>
            var oUl=new Vue({
                el:'#ul',
                data:{
                    items:[
                        {message:'Foo'},
                        {message:'Bar'}
                    ]
                }
            })
    
        </script>
        <ul id="ul1">
            <template v-for="item in items">
                <li>{{item.msg1}}</li>
                <li>{{item.msg2}}</li>
            </template>
        </ul>
        <script>
            var oUl=new Vue({
                el:'#ul1',
                data:{
                    items:[
                        {msg1:'1-1',msg2:'1-2'},
                        {msg1:'2-1',msg2:'2-2'},
                        {msg1:'3-1',msg2:'3-2'},
                    ]
                }
            })
        </script>
    </body>
    </html>
  • 相关阅读:
    docker中安装python3.8
    deeplearning系列(四)主成分分析与白化
    Aspect# 应用实例
    招兼职程序员(仅限北京)
    今天开始学Pattern Recognition and Machine Learning (PRML)书,章节1.2,Probability Theory 概率论(上)
    今天开始学Pattern Recognition and Machine Learning (PRML),章节1.2,Probability Theory (下)
    今天开始学Pattern Recognition and Machine Learning (PRML),章节1.1,介绍与多项式曲线拟合(Polynomial Curve Fitting)
    机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射
    今天开始学Pattern Recognition and Machine Learning (PRML),章节1.6,Information Theory信息论简介
    Linux系统安装shapely报错:OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']解决办法
  • 原文地址:https://www.cnblogs.com/iwebkit/p/6675378.html
Copyright © 2011-2022 走看看