coder__Song 2023-06-14 16:02 采纳率: 75%
浏览 16
已结题

router-view

router-view中嵌套一个按钮,给里面的点赞按钮添加了stop事件,还是会触发router-view
这么解决呢
给这一整块信息包裹了一个router-view

img

  • 写回答

2条回答 默认 最新

  • 火花怪怪 2023-06-14 16:17
    关注

    如果您在 router-view 中嵌套了一个按钮,并为按钮添加了 stop 事件,但仍然无法阻止 router-view 的触发,可能是因为 router-view 的点击事件优先级较高,导致无法被阻止。

    为了解决这个问题,您可以尝试在按钮的 click 事件中手动阻止事件的传播,以避免触发 router-view。具体来说,您可以在按钮的 click 事件中使用 event.stopPropagation() 方法来阻止事件的传播。例如:

    html
    Copy
    <template>
      <div>
        <router-view></router-view>
        <div>
          <!-- 其他内容 -->
          <button @click.stop="handleClick">点赞</button>
          <!-- 其他内容 -->
        </div>
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        handleClick(event) {
          // 阻止事件的传播
          event.stopPropagation()
          // 处理点赞逻辑
        }
      }
    }
    </script>
    
    

    在上述代码中,我们为按钮的 click 事件添加了 stop 修饰符,并在 handleClick 方法中使用 event.stopPropagation() 方法阻止事件的传播。这样,即使用户点击了按钮,也不会触发 router-view 的跳转。

    需要注意的是,使用 stop 修饰符仅能阻止事件的传播,而无法阻止事件的默认行为。如果您需要同时阻止事件的传播和默认行为,可以使用 prevent 修饰符,或者在事件处理函数中使用 event.preventDefault() 方法来阻止默认行为。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 6月14日

悬赏问题

  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页脚具体代码该怎么写?
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错