能够用路由或href打开对话框吗?实现鼠标和中键点击的效果

新手上路,请多包涵

用vue,ant design的<a-modal>实现对话框。
分为父组件和子组件,子组件因为要被很多父组件调用,所以需要独立出来。在父组件进行鼠标左键单击或鼠标中键滚轮单击,modal写在子组件中。
最终想要实现的效果是:
1、鼠标左键单击,弹出对话框,但是当前页面不要刷新或跳转到其他页面,仅弹出对话框;
2、鼠标中键滚轮单击,浏览器中打开新的窗口,展示当前页面+对话框。
求助,怎么实现这样的效果。
当前通过<router-link :to="{path:'/basicLayout/latest',query:{visible:true}}" 实现对modal的显示,但是当前页面会更新。
求助:如何实现最终的效果?替换modal插件也可以接受。

阅读 1.8k
2 个回答
✓ 已被采纳新手上路,请多包涵

似乎被我解决了,没用到任何高级功能。通过onclick事件的return false功能,来区别@click事件还是鼠标中键。
@click事件则绑定函数来弹出modal;
鼠标中键事件则通过href来实现跳转。
通过return false来组织@click对href的触发。

<a @mousedown='hdMousedown'  />


hdMousedown(eve){
if(eve.button === 1)
 // 跳转新界面 传递一个URL 参数
// 新界面里面判断URL 是否有个参数 如果有就弹出
}eles{
//弹窗窗口
}

 

https://developer.mozilla.org...
// Mousedown 事件 可以通过 button 0 1 2 判断鼠标三个按键

推荐问题
宣传栏