vue组件native修饰

博客主要讲述了Vue组件native修饰的使用,为使用原生@click需加native,无需子组件传值。还提及项目进展,老师帮忙上线项目,前端可调用新增API完成增删功能,实现自动刷新,后续需添加更改API并在页面实现,前后端要进行输入值判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue组件native修饰

tip1: vue组件native修饰

这部分看了很多资料终于明白了。首先VUE中如果想要触发父组件中的自定义的click,需要子组件先监听click事件,监听到了以后,触发函数,函数中$emit,提交一个click。这时候父组件监听到了click就可以调用click后面的函数。

这个可以参照之前写的博客

https://blog.youkuaiyun.com/qq_38972783/article/details/94381657

其中tip6讲了关于这部分的内容(要注意的是博客里面我写的是delete,但这个名字不重要,可以改成click就符合这里的题设了)

但可以知道的的是,click这个自定义事件长得样子和原生click一样的,但是这里却需要在子组件里监听返回一个click参数。这样的话父组件的@click完全可以换成别的,只有他的监听和子组件传出来的值一样就好。

那么为了使用原生@click,就要加个native。这样就不用子组件传值了,直接自己就实现了监听点击,当然这里也不能再把click的样子换了,毕竟这里已经是原生DOM

今天的代码里面一个button组件内有一个@click.native.pervent里面这个pervent相当于取消默认事件,但我没搞明白对于一个按钮有啥好取消默认事件的。但是这个问题已经浪费太多时间导致今天又得加班了,所以不去深究了,毕竟对于代码能用就行,我这种遇问题较真太容易进坑里浪费太多时间。就像导师说的等你都学会了怕是学期都结束了

此外el-button标签里面@click后面这个.native.pervent我试了一下,是可以加也可以不加,没影响的。这个网上有人说的是可能库里面改过。

今日完成:

今天老师帮忙把项目上线,这样前端就可以调用新增的api,这样就完成了增删的功能

之后完成了自动刷新,这个比较简单,就是调用查询接口给双向绑定的值赋值

之后增删有了,还没有改,所以需要加一个更改api然后在页面上实现,这个还没有做但比较容易,主要是前后端都要进行一下输入值的判断,比如非空啊,还有防止过长,还有输入的要求是数字啊之类的,这个在后端如何判断没接触过今天查了查还没搞通。

今天时间有点浪费了,为了搞懂vue组件native修饰,看了十几篇博客,质量只有一篇好一点,结果耽误了两个小时才搞明白。以后还是实践为主能用就行,不能总浪费时间钻牛角尖。

### Vue.js 事件修饰符 `.native` 的使用方法 `.native` 是 Vue.js 提供的一种事件修饰符,主要用于在自定义组件上绑定原生 DOM 事件。当我们在封装好的 UI 组件(如 Element UI 或其他第三方库中的组件)中尝试绑定事件时,可能会发现普通的 `v-on` 指令无法正常工作。这是因为这些组件本身并不是原生的 HTML 元素,而是由多个子组件构成的复杂结构。 通过使用 `.native` 修饰符,我们可以直接监听该组件内部根节点上的原生 DOM 事件[^2]。 #### 示例代码 以下是一个简单的例子,展示如何在自定义组件中使用 `.native`: ```html <template> <div id="app"> <!-- 自定义组件 --> <my-button @click.native="handleClick">点击我</my-button> </div> </template> <script> // 定义一个简单的自定义按钮组件 export const MyButton = { template: `<button>这是一个按钮</button>` }; export default { components: { 'my-button': MyButton // 注册自定义组件 }, methods: { handleClick() { console.log('按钮被点击了'); } } }; </script> ``` 在这个例子中,我们创建了一个名为 `MyButton` 的简单自定义组件,并将其注册到父级组件中。当我们希望监听这个自定义组件的点击事件时,如果仅使用 `@click`,它不会生效,因为默认情况下 `v-on` 只会监听组件实例本身的 `$emit` 方法触发的事件。而通过添加 `.native` 修饰符,则可以直接监听其根节点上的原生点击事件[^2]。 #### 工作原理 `.native` 的作用是让 Vue 将事件绑定到组件的根元素上而不是组件实例本身。这意味着即使组件内部未显式调用 `$emit` 来分发事件,只要用户与组件的根元素发生交互(例如点击),绑定的回调函数仍然会被执行[^2]。 需要注意的是,在 Vue 3 中已经移除了 `.native` 修饰符的支持,因此建议开发者尽早适应新的解决方案,比如通过组合 API 或者更灵活的方式实现类似的逻辑[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值