【学习笔记】15-v-on的传递参数时注意的问题

本文详细介绍了在使用Vue的v-on指令时,关于传递参数的一些关键点。包括无参数时的用法,单参数时如何默认获取event对象,以及如何在传递多个参数时保留event对象的处理方式。配合代码示例,帮助读者更好地理解和应用。

v-on需要传递参数时需要注意的问题

1.当没有参数传递时,方法名称后面可以不加小括号
2.当需要传递参数时,且只有一个参数需要传递,而没有进行传递,会默认输出浏览器的event对象
3.当需要传递多个参数时,想要获取浏览器的event对象,需要在前面加$符号

代码示例

<div id="app">
<button type="button" @click="btnClick1()">按钮1</button>
<!-- v-on事件监听的时候,需要传递参数,后面才会添加小括号,没有是可以省略的 -->
<button type="button" @click="btnClick1">按钮1</button>

<button type="button" @click="btnClick2()">按钮2</button>
<!-- 没有传递参数,有小括号只输出undefined -->
<button type="button" @click="btnClick2">按钮2</button>

<!-- 当需要传递参数时,且只有一个参数需要传递,而没有进行传递,会默认输出浏览器的event对象 -->
<button type="button" @click="btnClick3(123,$event)">按钮3</button>
<!-- 当需要传递多个参数时,想要获取浏览器的event对象,需要在前面加$符号 -->
</div>
<script src="vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	const apt = new Vue({
		el:'#app',
		data:{
			counter:0,
		},
		methods:{
     btnClick1(){
			console.log("btnClick1")
		 },
		btnClick2(e){
			console.log(e)
		},
		btnClick3(abc,event){
			console.log("--------",abc,event)		
		}
		},

	})
</script>
### Vue3 学习笔记 黑马程序员 Vue3 是 Vue.js 的最新版本,带来了许多新特性和改进。以下是一份关于 Vue3 学习笔记的内容概述,结合了黑马程序员与尚硅谷联合整理的资料[^2],以及相关的学习资源[^1]。 #### 1. Vue3 核心概念 Vue3 在 Vue2 的基础上进行了重大升级,引入了许多新的特性: - **Composition API**:一种新的组合逻辑的方式,替代了 Vue2 中的 Options API。 - **Teleport**:允许将组件的 DOM 结构渲染到应用的其他部分[^2]。 - **Fragments**:支持一个组件返回多个根节点。 - **更好的 TypeScript 支持**:Vue3 对 TypeScript 的支持更加友好,提供了更强大的类型推断能力。 #### 2. Vue3 基础特性 以下是 Vue3 的基础特性,适合初学者入门: - **模板语法**:包括 `v-text`、`v-html`、`v-on`、`v-show`、`v-if`、`v-bind`、`v-for` 和 `v-model` 等指令[^1]。 - **响应式系统**:Vue3 使用 Proxy 替代了 Vue2 中的 Object.defineProperty,性能更高且功能更强大[^2]。 #### 3. 组件化开发 Vue3 提供了更灵活的组件化开发方式: - **单文件组件 (SFC)**:通过 `.vue` 文件定义组件,包含模板、脚本和样式[^2]。 - **动态组件**:使用 `<component>` 和 `is` 属性实现动态组件切换[^2]。 #### 4. 状态管理 Vue3 推荐使用 Vuex 或 Pinia 进行状态管理: - **Vuex**:Vue 官方的状态管理库,适合中大型项目。 - **Pinia**:Vue3 的新一代状态管理工具,更轻量且易于使用。 #### 5. 路由应用 Vue Router 是 Vue.js 的官方路由管理器,适用于 Vue3 项目: - 配置路由规则。 - 实现页面跳转和参数传递- 处理导航守卫。 #### 6. 实战项目案例 学习 Vue3 不仅需要掌握理论知识,还需要通过实战项目巩固技能: - **计数器案例**:演示基本的事件绑定和数据绑定[^1]。 - **图片切换案例**:展示如何使用 `v-for` 和 `v-bind` 动态渲染列表[^1]。 - **小黑记事本**:综合运用 Vue3 的各种特性,如 `v-model`、`v-if` 和事件处理[^3]。 - **音乐播放器**:一个完整的综合应用案例,涉及网络请求、状态管理和组件通信。 #### 7. Vue2 到 Vue3 的迁移指南 对于从 Vue2 迁移到 Vue3 的开发者,官方提供了详细的迁移指南: - 了解 Vue3 的新特性。 - 更新项目依赖。 - 修改代码以适应 Vue3 的变化。 ### 示例代码 以下是一个简单的 Vue3 组件示例,展示了 Composition API 的用法: ```javascript <template> <div> <p>当前计数: {{ count }}</p> <button @click="increment">增加</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const count = ref(0); const increment = () => { count.value++; }; return { count, increment }; } }; </script> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值