使用 pathFor 时使用 iron:router 缩短 preventDefault()

shorter preventDefault() with iron:router when using pathFor

我使用 meteor 包 iron:router 来路由我的模板。我在浏览器中测试了我的代码,当我点击链接时我没有看到重新加载。当我 运行 我的代码在移动设备上时,页面正在重新加载。我知道我可以通过像这样的助手来禁用它:

Template.mytemplate.helpers({
      myhelper: function(e){
      e.preventDefault();
}
});

为了保持我的代码简单,我不想为我使用链接的每个模板创建助手:

<a href="{{pathFor: 'myroute'}}">mylink</a>

有没有一种简单的方法来处理这个问题以最大限度地减少冗余代码?

您不需要在每个模板中都编写相同的帮助程序。您可以对所有模板重复使用一个:

Template.registerHelper('preventDefault', function(e) {
  e.preventDefault();
});