学习笔记(4)vue指令、指令修饰符

1,vue指令

1.1,v-model

v-model:用于数据的双向绑定。可以将组件的数据绑定到模板中,也可以将页面对数据的修改绑定到组件数据中。

<input type="text" v-model="txt">

v-model指令工作原理

v-model指令的本质就是一个v-bind + 一个v-on,它会将绑定的数据通过value属性向下传递,并监听子组件发射的input事件,并当事件触发时,把事件附带的数据赋值给绑定的数据。

1.2,v-bind

v-bind:用于标签属性的数据绑定。

语法:xxx是要绑定的属性名,yyy是要绑定的组件中的数据.

<img v-bind:xxx="yyy" class="pic">
<!--  简写-->
<img :xxx="yyy" class="pic">

1.3,Class 与 Style 绑定

对于大部分属性,绑定的值都是字符串。而对于class属性,class属性可以绑定数组或者对象。

  • class属性绑定数组时:vue会将数组中的字符串拼接成一个class字符串绑定到class属性上。
  • class属性绑定对象时:对象的键表示class的名字,值是布尔值,表示是否添加这个class。
  • style属性可以绑定一个对象。
    style属性绑定对象时,其中对象的键是样式名,值是样式值。
<template>
    <div>
        <h1>欢迎来到首页</h1>
        <div :class="classArr">对于class属性,可以绑定数组</div>
        <div :class="classObj">class属性还可以绑定对象</div>
    
        <div :style="styleObj">style属性可以绑定对象</div>
    </div>
</template>

<script>
export default {
    name: "home",
    data(){
        return {
            classArr:['青龙','白虎','朱雀','玄武'],
            classObj:{
                bold:true,
                red:false,
                border:false
            },
            styleObj:{
                fontSize:"30px",
                "background-color":"yellow"
            },
        }
    }
}
</script>

在这里插入图片描述

1.4,v-on

v-on:进行元素的事件绑定。
语法:xxx是绑定的事件类型,yyy是绑定的方法。v-on绑定的方法必须是组件中的方法。

<button v-on:xxx="yyy">按钮</button>
<!-- 简写-->
<button @xxx="yyy">按钮</button>

使用v-on进行事件绑定时,如果方法名不加(),则会自动传递事件对象e,如果添加()则可以进行自定义传参,事件对象是$event。

1.5,v-if,v-show(条件渲染)

v-if:用于条件渲染。v-if可以和v-else-if、v-else配套使用。
v-show:也用于条件渲染。
两者都是绑定一个布尔值,为true时显示,false不显示。

<div v-if="flag">v-if绑定的值为真,会显示</div>
<div v-show="flag">v-show绑定的值为真,会显示</div>

区别:
v-if的原理是根据判断条件,动态增删DOM元素,
v-show是根据判断条件,动态显示和隐藏元素。
注意: v − f o r 比 v − i f 优先级高 \color{#FF0000}{注意:v-for比v-if优先级高} 注意:vforvif优先级高

1.6,v-for(列表渲染)

格式:v-for=“(item, index) in arr”。
语法:item是当前遍历到的数组元素,index是当前遍历到的数组元素索引,books是需要遍历的数据。

<td v-for="(item,index) in books" :key="index"></td>

1.7,v-html

v-html指:用于将一段html字符串作为html内容解析显示到某个标签中。

<template>
    <div>
        <p v-html="txt"></p>
    </div>
</template>

<script>
export default {
    name: "home",
    data(){
        return {
            txt:"<b>你好</b>",
        }
    }
}
</script>

在这里插入图片描述

1.8,v-once

v-once:用于一次性数据绑定,当页面加载完毕之后,将数据的初始值渲染到元素内中,当数据发生变化时,不再进行重新渲染。

2,指令修饰符

2.1,.number

.number:用于修饰v-model指令,作用是将输入框中的内容转为数字之后再绑定的组件数据上。

2.2,.trim

.trim:将输入框中的内容进行trim(去除两端的空格)再绑定。

2.3,.lazy

.lazy:默认情况下v-model指令会在input事件中进行重新渲染,使用.lazy修饰符后则会在按下回车或者失去焦点时进行重新渲染 。

2.4,.prevent

.prevent:用于v-on指令,效果是阻止所监听的事件的默认行为,相当于e.preventDefault方法。

2.5,.stop

.stop:相当于e.stopPropergation(停止事件的传播)。
注意:一个指令可以添加多个修饰符 \color{red}{注意:一个指令可以添加多个修饰符} 注意:一个指令可以添加多个修饰符

<a @click.stop.prevent="linkClick" >百度一下</a>

2.6,.{keyCode}

.{keyCode}:用于修饰键盘按键事件,只有按下keyCode为这个值的按键才会触发事件。

<input type="text" @keydown.13="keydown" v-model="t3">
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

酒鼎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值