<body> <script src='https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js'></script> <div id='myApp'> 指令修饰符: 在vue指令后打点调用的属性,用于给指令添加特定的功能 <br> vue中的指令修饰符分为三类: 表单修饰符, 事件修饰符, 键盘修饰符 <br> <h3>表单修饰符</h3> <div>1, trim 用在v-model中, 用于取出表单输入的首尾空格</div> <input type="text" v-model.trim ="str"> =={{str}}== <div>2, number 用在v-model中, 用于把表单中的文字转化成数字</div> <input type="text" v-model.number="str"> {{str + 3}} <div>3, lazy 用在v-model中, 把input事件切换为change事件</div> <input type="text" v-model.lazy="str"> {{str}} <h3>事件修饰符</h3> <div>1, prevent 修饰符用于阻止事件的默认行为</div> <a href="./1,代办任务作业.html" @click.prevent="()=>{str='警告'}">律师函警告</a> <div>2, stop 修饰符用于阻止事件冒泡</div> <a @click="myClick">百度 <button @click.stop="myClick">律师函警告</button> </a> <div>3, self 阻止事件挖洞,只有标签本身的事件被触发,子标签的事件不会导致父标签事件触发 </div> <a @click.self="myClick">百度 <button @click="myClick">律师函警告</button> </a> <div>4, once 限制事件只能触发一次</div> <button @click.once="()=>{str++}">您有一次抽奖机会</button> <h3>键盘修饰符</h3> <div>键盘上任意键的键名都可以当作指令修饰符, 修饰键盘事件, 用于限定哪个键或那些键点击才触发事件</div> <input type="text" @keydown.a="myKey"> <input type="text" @keydown.alt.shift.f="myKey"> <div>指令修饰符是可以链式调用的</div> <button @click.once.prevent.stop.self="myClick">点我</button> <h2>总结: vue中的指令修饰符有: .trim .number .lazy .prevent .self .stop .once .anyKey</h2> </div> <script> new Vue({ el: '#myApp', data: { str: "" }, methods: { myKey(e){ alert(e.key) }, myClick(e){ console.log(e.currentTarget) } } }) </script></body>