Vue事件修饰符课堂练习
题目:基于 Vue 2.0,使用事件修饰符 .stop、.prevent、.capture、.self 和 .once,为按钮绑定 click 事件,并展示每个修饰符的作用。
要求:
创建一个 Vue 实例,并绑定到一个 HTML 元素上。
在模板中创建五个按钮,每个按钮分别使用上述五个修饰符绑定 click 事件。
每个按钮的点击事件处理函数应输出不同的信息到控制台,以展示修饰符的作用。
确保每个修饰符都能正确阻止事件的默认行为、冒泡、捕获等。
代码要实现的要求
.stop:阻止事件冒泡。
.prevent:阻止事件的默认行为。
.capture:在捕获阶段触发事件处理函数。
.self:只有当事件是从该元素本身触发时才触发处理函数。
.once:事件将只会触发一次。
代码示例
html
Copy Code
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue 2.0 事件修饰符练习</title><script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body><div id="app"><h1>Vue 2.0 事件修饰符练习</h1><button @click.stop="handleClick('stop')">Stop 修饰符</button><button @click.prevent="handleClick('prevent')">Prevent 修饰符</button><button @click.capture="handleClick('capture')">Capture 修饰符</button><button @click.self="handleClick('self')">Self 修饰符</button><button @click.once="handleClick('once')">Once 修饰符</button></div><script>new Vue({el: '#app',methods: {handleClick(modifier) {console.log(`点击了按钮,使用了修饰符: ${modifier}`);// 对于 .prevent 修饰符,可以添加一些默认行为来展示阻止效果if (modifier === 'prevent') {alert('默认行为被阻止了!');return false; // 实际上,由于 .prevent 修饰符的存在,这里的 return false 是多余的}// 对于 .capture 修饰符,通常不需要在方法内部做特殊处理,// 因为 .capture 修饰符只是改变了事件处理函数的触发时机(捕获阶段)。// 这里的代码主要是为了展示效果。// 对于 .self 修饰符,同样不需要在方法内部做特殊处理,// 因为 .self 修饰符只是确保事件是从元素本身触发的。// 对于 .once 修饰符,同样不需要在方法内部做特殊处理,// 因为 .once 修饰符只是确保事件处理函数只会被调用一次。}}});</script>
</body>
</html>
课程练习文档
Vue 2.0 事件修饰符练习
目标:理解并掌握 Vue 2.0 中的事件修饰符 .stop、.prevent、.capture、.self 和 .once。
步骤:
创建一个新的 HTML 文件,并引入 Vue 2.0 的 CDN。
在 HTML 文件中创建一个 div 元素,并设置 id=“app”。
在 div 元素内部创建五个按钮,每个按钮分别使用上述五个修饰符绑定 click 事件。
在 Vue 实例中定义 handleClick 方法,该方法接收一个参数 modifier,用于区分是哪个按钮被点击。
在 handleClick 方法中,根据 modifier 的值输出不同的信息到控制台。
对于 .prevent 修饰符,可以添加一些默认行为(如弹出警告框)来展示阻止效果。
运行 HTML 文件,并点击各个按钮,观察控制台输出和浏览器行为,以理解每个修饰符的作用。
注意事项:
确保每个修饰符都能正确阻止事件的默认行为、冒泡、捕获等。
可以通过在控制台中查看输出信息来验证事件处理函数是否被正确调用。
尝试移除修饰符,观察行为变化,以加深理解。