使用Ember中的普通链接

时间:2016-03-21 17:35:23

标签: javascript ember.js

我的HTML中有一个普通的锚标记,但它包含在一个动作处理程序中(可能不止一个)。

问题:当我点击该链接时,其中一个操作会吞下它。

示例模板:

<div {{action 'doSomething'}}> 
  ...
  <a href="www.google.com" target="_blank">Google</a>
  ...
</div>

我觉得点击一个没有动作的锚标签应该优先于父动作处理程序,但似乎并非如此。

我一直在调试并在Ember看到这段代码:

ActionHelper.registerAction = function (_ref) {
  ...
  var preventDefault = _ref.preventDefault;
  ...

  actions.push({
    ...
    handler: function (event) {
      ...
      if (preventDefault !== false) {
        event.preventDefault();
      }
      ...
    }
  })
}

当我点击链接时,似乎总是认为应该preventDefault ...

我已尝试寻找父母行动并添加preventDefault=false,但没有运气。

1 个答案:

答案 0 :(得分:1)

显然,你必须调用一个动作才能做到这一点。你能做的是:

public class MongoThingy
{
    public ObjectId Id { get; set; }
    public Thingy Thingy { get; set; }
}

这里有一个关于emberjs的更多信息的链接:

https://guides.emberjs.com/v1.13.0/templates/actions/#toc_allowing-default-browser-action