Vue框架的常用指令(一)

1.v-if

       v-if的作用是通过判读布尔值进行对dom的上树和下树的渲染。

        例如:

 

<body>

        <div id = 'app'>

            <h1>{{a}}</h1>

            <p v-if="a < 3">我小于3</p>

            <p v-else-if="a == 3">我等于3</p>

            <p v-else>我大于3</p>

            <button @click="add">按我加1</button>

        </div>

        <script src="js/vue.js"></script>

        <script>

            new Vue({

                //挂载点

                el:'#app',

                //数据

                data:{

                    a:0

                },

                //方法

                methods:{

                    add(){

                        this.a++

                    },

                },

            })

        </script>

       

    </body>

 结果为:       

   

        需要注意的是v-else的使用前提是必须先有v-if并且中间不允许有任何的元素间隔。

<p v-if="a < 3">我小于3</p>

<div></div>

<p v-else-if="a == 3">我等于3</p>

<p v-else>我大于3</p>

         上面的代码写法是错误的,div不能在v-if和v-else-if,v-else之间进行拆分

2.v-show

        v-show 和 v-if 的显示情况类似,但原理不一样,v-show是通过控制元素display属性,对元素的显示和隐藏进行逻辑判断,并没有实现元素的下树。

<body>

        <div id = 'app'>

            <p v-show="a == 3">我是3</p>

            <button @click="add">按我加1</button>

        </div>

        <script src="js/vue.js"></script>

        <script>

            new Vue({

                //挂载点

                el:'#app',

                //数据

                data:{

                    a:0

                },

                //方法

                methods:{

                    add(){

                        this.a++

                    },

                },

            })

        </script>

 </body>

         结果为:

         v-show和v-if的使用场景区分:

                如果页面切换的特别频繁使用v-show;

                如果页面的涉及范围特别大并且不是特别频繁的切换使用v-if。

                主要区分就是页面的加载性能。

3.v-once

        v-once的作用是只会渲染对应元素一次,数据更新不会引起视图的更新,目的是为了优化页面的性能。

        使用场景通常是没有动态的元素内容,比如一些文章,一些固定标题

     例如:

<body>

        <div id = 'app'>

            <h1 v-once>{{a}}</h1>

            <button @click="add">按我加1</button>

        </div>

        <script src="js/vue.js"></script>

        <script>

            new Vue({

                //挂载点

                el:'#app',

                //数据

                data:{

                    a:100

                },

                //方法

                methods:{

                    add(){

                        this.a++

                        console.log(this.a)

                    },

                },

            })

        </script>

</body>

        结果为:

4.v-pre

        v-pre属性的作用是跳过该元素编译过程,直接显示元素内部的文本,特点就是跳过大量的没有指令的节点.

        v-pre属性的有点就是优化页面的加载性能.

<h2 v-pre>{{a}}</h2>

         结果为:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

own_monkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值