欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 指令的修饰符

指令的修饰符

2025/1/13 10:12:16 来源:https://blog.csdn.net/h091616/article/details/145100996  浏览:    关键词:指令的修饰符

指令的修饰符

参考文献:
Vue的快速上手
Vue指令上
Vue指令下
Vue指令的综合案例

文章目录

  • 指令的修饰符
    • 指令修饰符
  • 结语

    博客主页: He guolin-CSDN博客

    关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长!

嗨!收到一张超美的图, 愿你每天都能顺心!

在这里插入图片描述

注:在看本文章前优先把参考文献看完!!!

指令修饰符

通过 “.” 指明一些指令 后缀,不同后缀封装了不同的处理操作 -> 简化代码。
例如:
① 按键修饰符->键盘回车监听

  • @keyup.enter

② v-model修饰符

  • v-model.trim->去除首尾空格
  • v-model.number->转数字

③事件修饰符

  • @事件名.stop->阻止冒泡
  • @事件名.prevent->阻止默认行为

我们以第一个键盘回车监听事件为例子。
我们在上一篇文章写了一个记事本的案例,记事本是点击添加任务按钮才能添加任务,这次我们加一个按回车键也能添加任务,那么代码需要修改的地方为:

//注:add的这个方法是上一篇文章写的添加任务的一个方法
<input type="text" placeholder="请输入任务" v-model="todoName" @keyup.enter="add">

这样按下我们的回车键也可以添加任务。

那么我们来看下它的原理是什么。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><h3>@keyup.enter -> 监听键盘回车事件</h3><input type="text" v-model="username" @keyup.enter="fn"></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script><script>const app = new Vue({el:"#app",data:{username:"",},methods:{fn(){console.log("键盘回车时触发",this.username);}}})</script>
</body>
</html>

这个时候只有当我门点击回车时,才会在控制台打印
在这里插入图片描述

倘若我们将.enter去掉

<input type="text" v-model="username" @keyup="fn">

我们不需要按下回车键,只要一输就会在控制台自动打印。
在这里插入图片描述

如果我们要回车时才触发,就要找到对应事件的标识符
我们队我们的方法fn稍作修改,加上我们的事件对象e

fn(e){console.log(e);console.log("键盘回车时触发", this.username);
}

当我们点击1的时候,它会有个key值为1。
在这里插入图片描述

当我们按回车键时,它的key值就是enter。
在这里插入图片描述

所以我们只要在fn方法里加上一个对key值的判断,就能实现我们只有输入Enter时才打印这一事件

fn(e){if(e.key === "Enter"){console.log("键盘回车时触发", this.username);  }
}

所以在@keyup后面加上一个.enter就相当于外层加了一个判断,将它封装好了,所以修饰符就是在我们使用的时候帮助我们进行了一些小的封装,来帮我们简化代码。

其他更多的指令修饰符也可以在接下来写代码的过程中一步步去尝试。

结语

本次分享就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区留言,如果给小伙伴们带来了一些收获,请留下你的小赞,你的点赞和关注将会成为博主分享每日学习的动力。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com