Enable/Disable 重新激活 Meteor 中的超链接

Enable/Disable re-actively a hyperlink in Meteor

场景:

我在仪表板的边栏上有一个简单的超链接。

<a href="/client/workspace">
    <i class="fa fa-laptop"></i> <span>Workspace</span>
</a>

问题:

仅当 CONDITIONtrue 时,必须启用超链接,否则必须禁用。

有什么建议吗?提前致谢。

NOTE : Using Meteor + blaze only

理想情况下 <button> 实际上可以是 disabled(只需将 disabled 属性值设置为您条件的结果)。

一个<a>link总是可以被点击的,所以根据你UI你到底想要什么,我们可以想象:

  • 将 link 隐藏在透明(可能有一些不透明度)<div> 后面,这样它就无法再被点击。 <div> 的定位必须小心,而它的存在/不存在可以很容易地设置(例如使用具有 display: none 样式的 class)。
  • 监听 link 上的 "click" 事件并阻止默认行为(即 event.preventDefault(),其中 event 是监听器的第一个参数)取决于你的病情结果。

如果您坚持要为 link 设置一个,请删除 href 属性并使其像这样的按钮:

<a class="myLink" role="button" link="/client/workspace">
    <i class="fa fa-laptop"></i> <span>Workspace</span>
</a>

像这样定义它的行为:

Template.yourTemplate.events({
    '.myLink': function (event) {
       event.preventDefault();
       if (CONDITION) {
           // your code to redirect to event.target.link
       }
    }
})