Vue指令

1. v-bind绑定class

    <style>

        .text{

            color: red;

        }

        .active{

            color: blue;

        }

    </style>

<div id="app">

        <h2 class="text" :class="{active:isactive}">{{red}}</h2>

        <button @click="change">点击改变</button>

    </div>

    <script>

        const app = new Vue({

            el:"#app",

            data:{

                red:"颜色",

                isactive:true,

            },

            methods:{

                change:function(){

                    this.isactive = !this.isactive;

                }

            }

        })

2.v-bind 和 v-for结合案例(点击哪一个li,就改变颜色)

<style>

        .active{

            color: blueviolet;

        }

    </style>

</head>

<body>

    <div id="app">

        <ul>

            <li v-for="(item,index) in movies" @click="change(index)" v-bind:class="{active:index==num}" >{{index}}--{{item}}</li>

        </ul>

    </div>

    <script>

        const app =new Vue({

            el:"#app",

            data:{

                movies:['潘婷','dddd','sao'],

                num:0,

            },

            methods:{

                change:function(index){

                    this.num = index;

                }

            }

        })

3.v-bind 绑定样式

<div id="app">

        <ul>

            <h1 :style="{'font-size':'15px','color':'red'}">{{message}}</h1>

        </ul>

    </div>

    <script>

        const app = new Vue({

            el:"#app",

            data:{

                message:'你好'

            },

        })

    </script>

4.v-on 修饰符 阻止冒泡

<div id="app">

        <div @click="divclick">

            <button @click.stop="btnclick"></button>

        </div>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <script>

        const app = new Vue({

            el:"#app",

            methods:{

                divclick(){

                    console.log("divclick");

                },

                btnclick(){

                    console.log("btnclick");

                }

            }

        })

5.v-if和v-else  (true的时候显示v-if,false显示v-else)

<div id="app">

        <h2 v-if="isShow">{{message}}</h2>

        <h2 v-else="isShow">{{messagetwo}}</h2>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <script>

        const app = new Vue({

            el:"#app",

            data:{

                message:"你好",

                messagetwo:"我好",

                isShow:false,

            }

        })

6. v-show和v-if (v-show控制的是节点的display属性为none,v-if是将节点删除,如果节点需要频繁显示隐藏,用v-show)

<div id="app">

        <p v-show = "isShow">黑马程序员</p>

        <p v-if = "isShow">黑马程序员</p>

    </div>

    <script>

        var app = new Vue({

            el:"#app",

            data:{

                isShow:true,

            }

        })

7.v-for (给对应元素或组件添加 :key)     想再AB后插入F     有了key,可以直接在AB后加,  否则系统会让虚拟Dom中的li3改成 F,后面逐步修改,相比加了Key,性能消耗大

key的作用 高效的更新虚拟Dom

 

<ul id="app">

        <h2 v-for = "item in food" :key="item">{{item}}</h2> // :key="值" 与 {{值}} 得是对应的

    </ul>

    <script>

        const app = new Vue({

            el:"#app",

            data:{

                food:['apple','banana','orange']

            }

        })

    </script>


    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值