【vue】 如何给封装好的组件加click事件
因为开发用到了iview等组件库,发现封装好的组件直接只用@click是无效的,所以解决了一下正文根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上native修饰符当你使用 <Menu>组件时<Menu mode="horizontal" theme="...
·
因为开发用到了iview等组件库,发现封装好的组件直接只用@click是无效的,所以解决了一下
正文
根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上native修饰符
当你使用 <Menu>
组件时
<Menu mode="horizontal" theme="dark" :active-name="$route.path" >
<MenuItem name="/" to="/" @click.native="handclick(1)">我的项目</MenuItem>
必须加上 @click.native=“handclick(1)”,才会触发handclick(1)方法
诸如此类组件,都是需要加@click.native才能触发
分析
等同于在自组件中:
子组件内部处理click事件然后向外发送click事件:$emit(“click”.fn)
扩展
给普通的标签加事件,然后加native是无效的
更多推荐
已为社区贡献10条内容
所有评论(0)