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