Vue事件基本使用——传参和不传参的使用

Vue事件基本使用

  • 总结
    1.使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名;
    2.事件的回调需要配置在methods对象中,最终会在vm上;
    3.methods中配置的函数,不要用箭头函数!否则this就不是vm了;
    4.methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象;
    5.@click=“demo” 和 @click=“demo($event)” 效果一致,但后者可以传参;
  • 示例
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>学习</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 准备好一个容器-->
	  <div id="root">
        <h2>欢迎来到{{address}}参观</h2>
		<button @click="showInfo1">点我提示信息1(不传参)</button>
		<button @click="showInfo2($event,66)">点我提示信息2(传参)</button>
	  </div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

		const vm = new Vue({
	      el: '#root',
	      data: {
	        address: '博物馆'
	      },
	      methods: {
	        showInfo1(event) {
	          console.log(event)
	          console.log(event.target)
	          console.log(event.target.innerText)
	          console.log(this) // 此处的this是vm
	        },
	        showInfo2(event,number) {
	          console.log(event)
	          console.log(event.target)
	          console.log(number)
	        }
	      },
	    })
	</script>
</html>

@click=“demo” 和 @click=“demo($event)” 效果一致,但后者可以传参
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,我们可以使用v-for指令来循环渲染一个元素,并且可以结合@click事件给循环的元素绑定点击事件。在循环点击事件递参数,有几种方式可以实现。 第一种方式是使用匿名函数。我们可以在@click事件后面使用匿名函数来递参数。例如: ```html <template> <div> <ul> <li v-for="(item, index) in items" :key="index" @click="handleClick(item)"> {{ item.name }} </li> </ul> </div> </template> <script> export default { data() { return { items: [ { name: 'item1' }, { name: 'item2' }, { name: 'item3' } ] } }, methods: { handleClick(item) { console.log(item) } } } </script> ``` 在这个例子中,我们通过@click事件后面的匿名函数来递item参数,点击时会将对应的item对象输出到控制台。 第二种方式是使用bind方法。我们可以使用Function.prototype.bind方法来创建一个绑定了参数的新函数。例如: ```html <template> <div> <ul> <li v-for="(item, index) in items" :key="index" @click="handleClick.bind(this, item)"> {{ item.name }} </li> </ul> </div> </template> <script> export default { data() { return { items: [ { name: 'item1' }, { name: 'item2' }, { name: 'item3' } ] } }, methods: { handleClick(item) { console.log(item) } } } </script> ``` 在这个例子中,我们使用了handleClick.bind(this, item)来创建一个新的函数,并且将this和item作为参数递进去。 无论是使用匿名函数还是bind方法,我们都可以在点击事件递参数,并在方法中获取到参数的值。这样就可以实现在Vue中循环点击事件递参数的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值