Vue2.0 Vue事件处理(v-on)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>Vue事件处理</title>
    </head>
    <body>
        <div id="root">
            <h2>欢迎{{name}}来学习Vue</h2>
        </div>
    </body>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="indexJS.js"></script>
</html>
Vue.config.productionTip=false

new Vue({
    el: '#root',
    data(){
        return{
            name: '陈天羽'
        }
    }
})

要想来一个按键,叫做点我提示信息点了后出现弹窗,弹窗提示同学你好

<button>点我提示信息</button>

得给这个按钮绑定信息

Vue要给元素绑定事件得用到一个v-on指令,v-on当什么什么时候v-on:click当被点击的时候你帮我去执行一个回调函数,这回调函数是v-on:click="showInfo"

<button v-on:click="showInfo">点我提示信息</button>
<!--当你(v-on)点击(click)button元素的时候它就帮你找名为showInfo的函数去调用-->

最简单的方式,在里面定义一个

function showInfo(){
    alter('同学你好')
}
 Property or method "showInfo" is not defined

有一个属性或者一个方法名为showInfo是没有定义的
并不能看到上面写的方法

这里容器通过id与Vue实例进行连接,所以function里面的方法得想办法添加到Vue实例中;得用一个配置项methods

new Vue({
    el: '#root',
    data(){
        return{
            name: '陈天羽'
        }
    },
    methods: {
        showInfo(){
            alert('同学你好')
        }
    },
})

这就是一个最简单的事件绑定

  • 问题一:这showInfo能不能接收到参数
methods: {
        showInfo(a,b,c,d){
            console.log(a,b,c,d)
        }
    }
PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …} undefined undefined undefined

Event事件对象

event.target//拿到发生事件的事件目标

可以event.target.innerText

console.log(this)//此处的this是vm

v-on简写形式@

<button v-on:click="showInfo1">点我提示信息</button>
<button @click="showInfo2">点我提示信息</button>
new Vue({
    el: '#root',
    data(){
        return{
            name: '陈天羽'
        }
    },
    methods: {
        showInfo1(event){
            console.log(event.target)
            alert('同学你好!')
        },
        showInfo2(event){
            console.log(event.target)
            alert('同学你好!!')
        }
    },
})

我还要收到比如666这个数值,可以这么来写

<button @click="showInfo2(666)">点我提示信息</button>
showInfo2(number){
            console.log(number)
            alert('同学你好!!')
        }

这里()想加和不想加都行,你不想传参就可以不加,传参就得加;你不能说你一传参就把event搞丢了,你可以(666,$event)来占个位

这样写你的showInfo1showInfo2没有做数据代理的,这样没有数据代理就属于是你写完了就定完了

总结

1.使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名;
2.事件的回调需要配置在methods对象中,最终会在vm上
3.methods中配置的函数,不要用箭头函数!否则this就不是vm了
4.methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象
5.@click=“demo” 和 @click="demo($event)"效果一致,但后者可以传参

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue2.0是一种流行的JavaScript框架,用于构建用户界面。在面试时,以下是关于Vue2.0技术的一些重要方面,需要了解的内容: 1. Vue实例:了解如何创建Vue实例,在实例中定义数据、方法和计算属性,以及如何在模板中使用这些数据和方法。 2. 数据绑定:理解Vue的双向数据绑定原理,如何使用v-model指令来绑定表单元素和数据。 3. 组件:了解如何创建和使用组件,以及如何通过props和事件来进行组件之间的通信。 4. 指令:掌握Vue提供的各种指令,例如v-if、v-for、v-bind、v-on等,以及自定义指令的使用方法。 5. 生命周期:了解Vue生命周期的不同阶段和各个钩子函数的作用,以及如何在生命周期函数中执行相应操作。 6. 路由:熟悉Vue Router的使用,包括路由配置、动态路由、嵌套路由和路由传参等。 7. 状态管理:了解Vuex,理解如何在Vue应用中集中管理和共享状态。 8. 异步操作:了解Vue的异步操作,如何使用axios或fetch发送异步请求,并在处理响应时更新数据。 9. 插件:了解Vue的插件机制,如何编写和使用插件,以及一些常用的Vue插件。 10. 单元测试:了解如何使用工具(如Jest或Mocha)编写和运行Vue组件的单元测试。 在面试时,这些知识点可以用来回答关于Vue2.0的问题,展示自己对Vue2.0的理解和熟练程度。同时,还可以结合自己的项目经验和实际应用场景,分享一些与Vue2.0相关的经验和解决方案,以展示自己的能力和技术实践。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

结城明日奈是我老婆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值