navigateTo:fail page pages/goodsDetails/javascript is not found

小编推荐:Fundebug专注于JavaScript、微信小程序、微信小游戏,Node.js和Java实时BUG监控。真的是一个很好用的bug监控费服务,众多大佬公司都在使用。

在vue.js项目转化到mpvue的小程序项目的过程中,执行事件时,报了如下图所示的错误:

 

找出报错代码:

 <div class="purchase" @click="selectColor('1')">
        <a href="javascript:void(0);" >立即购买</a>
      </div>

原因是:用a标签时,用到了href="javascript:void(0);",在vue.js有路由进行跳转,href="javascript:void(0);"这种写法代表禁止超链接跳到另一个地址,但是在mpvue中,可用a标签实现页面跳转,所以以上的写法不可行。

解决方案: 把href="javascript:void(0);"去掉即可!

 <div class="purchase" @click="selectColor('1')">
        <a >立即购买</a>
      </div>

最后普及下为什么使用href="javascript:void(0);"在a标签中,及具体含义?

为什么要使用href=”javascript:void(0);”?

javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作。

<a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接

href=”javascript:void(0);”与href=”#"的区别

<a href="javascript:void(0)">点击</a>点击链接后不会回到网页顶部 <a href="#">点击</a> 点击后会回到网面顶部

"#"其实是包含了位置信息,例如默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0)

使用javascript的方法

<a href="#" onclick="javascript:方法;return false;">文字</a>

<a href="javascript:void(0)" onclick="javascript:方法;return false;">文字</a>

补充 <a href="javascript:hanshu();"这样点击a标签就可以执行hanshu()函数了。

作者:honey缘木鱼
链接:https://www.jianshu.com/p/e04d951ddef6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值