vue 拦截 v-html 中 a 标签 href 跳转

记录
template 中 给需要 拦截的 代码片段加上click 方法 @click=“targetNodeNameClick”

 <p class="message-content message-content-text" v-html="replaceURLWithHTMLLinks(getText(message))"  @click="targetNodeNameClick"></p>

然后方法的代码:如有参考,有业务代码自行理解。

// 拦截 v-html 中 a 标签 href 跳转
targetNodeNameClick(event) {
    
    
  if (event.target.nodeName == "A") {
    
    
    event.preventDefault();
    // 使用浏览器打开
    let url = event.target.getAttribute('href')
    if (url) {
    
    
      if (url && url.substring(0, 1) === '/') {
    
    
        url = `${
      
      process.env.VUE_APP_BASE_URL}${
      
      url}`
      }
      this.$ipcInvoke(ipcApiRoute.openDefaultBrowser, url)
    }
    return false
  }
},

猜你喜欢

转载自blog.csdn.net/sinat_29843547/article/details/131978837