Vue事件绑定(以代码的形式进行介绍)

v-on指令: v-on:也可以简写为@:

<div id="app">
{{num}}
<button v-on:click="add()">num+1</button>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
        num:1
    },
    methods:{
        add:function(){
        //this对应的是 Vue这个大的对象
        //data中的数据就是this的属性
            this.num++
        }
    }
})
</script>
复制代码

关于v-on:的一些事件处理:

<div id="app">
<p @click="fn1()">
<span @click.stop="fn2()">hello world</span>
</p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
        num:1
    },
    methods:{
        fn1:function(){
        console.log(1)
        },
        fn2:function(){
            console.log(2)
        }
        
    }
})
</script>
复制代码

v-text和v-html指令:

<div id="app">
    <p v-text="mes"></p>      //不解析标签,原样输出

    <p v-html="mes"></p>      //解析标签
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
      mes:"<a>hello world</a>"
    },
})
</script>
复制代码

v-bind:(绑定属性 添加单个类名)

<style>
.classA{
    color:red;
}
.classB{
    font-size:50px;
}
</style>
<div id="app">
 <p v-bind:class="x">
    hello world
 </p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
     x:"classA",
    },
})
</script>
复制代码

v-bind:(添加多个类名)

<style>
.classA{
    color:red;
}
.classB{
    font-size:50px;
}
</style>
<div id="app">
 <p v-bind:class="[x,y]">
    hello world
 </p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
     x:"classA",
     y:"classB"
    },
})
</script>
复制代码

v-bind 动态控制单个类名的添加移除:

<style>
.classA{
    color:red;
}
.classB{
    font-size:50px;
}
</style>
<div id="app">
 <p v-bind:class="[{classA:i}]">
    hello world
 </p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
     i:true,
    },
})
</script>
复制代码

v-bind 动态控制多个类名的添加移除:

<style>
.classA{
    color:red;
}
.classB{
    font-size:50px;
}
</style>
<div id="app">
 <p v-bind:class="[{classA:i},{classB:i}]">
    hello world
 </p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
     i:true,
     t:true
    },
})
</script>
复制代码

v-bind 图片属性的绑定:

<div id="app">
 <img src="webUrl" alt="">
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
    webUrl:"图片路径"
    },
})
</script>
复制代码

v-bind style的绑定:

<div id="app">
<p :style="{color:x,fontSize:size+"px"}"></p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
   obj:{
       color:"red",
       fontSize:"40px"
   }
    },
    x:"green",
    size:20
})
</script>
复制代码

v-model: 双向数据绑定(经常用于表单元素的绑定)

<div id="app">
<input type="text" v-model="mes">
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
    mes:{
        hello world
    }
    },

})
</script>
复制代码

v-model用于复选框的案例

<div id="app">
<input type="checkbox" v-model="t">
<p  :class="[{x:t}]"></p>
{{mes}}
{{t}}
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
    mes:"hello world",
    t:rue,
    },

})
</script>
复制代码

v-if和x-show 根据变量来判断元素的显示隐藏

v-if:直接切换结构

<div id="app">
<button @click="chaange()">切换</button>
  <p v-if="t">hello world</p>
    <p v-else>你好世界</p>
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
        t:true      /根据t的真假来判断显示和隐藏
    },
    methods:{
        change:function(){
            this.t=!this.t
        }
    }

})
</script>
复制代码

v-show 通过display:none来切换显示隐藏 没有v-else

<div id="app">
<button @click="chaange()">切换</button>
  <p v-show="t">hello world</p>
 
</div>
<script>
var vm=new Vue({
    el:"#app",
    data:{
        t:true      /根据t的真假来判断显示和隐藏
    },
    methods:{
        change:function(){
            this.t=!this.t
        }
    }

})
</script>

v-if和v-show的对比:v-if初次加载时的性能更好;v-show切换时性能更好
复制代码

v-for:

<ul>
<li v:for="{item,index} in arr" :key="index">
{{index}}
{{item}}
</li>
</ul>
<script>
var vm=new Vue({
    el:"#app",
    data:{
      arr:["hello","NIHAO","你好",]
    }
   

})
</script>
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值