2016-03-21 3 views
1

У меня есть обычный якорный тег в моем HTML, но это завернуто в обработчик действий (возможно, более одного).Использование обычной ссылки в Ember

Проблема: Когда я нажимаю на ссылку, она поглощается одним из этих действий.

Пример шаблон:

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

Я чувствую, что при нажатии на якорь тег без каких-либо действий, должно иметь приоритет над обработчиками действий родителя, но это, кажется, не так.

Я отладки и увидеть этот бит кода в Эмбер:

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

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

Когда я нажимаю на ссылку она всегда, кажется, думает, что он должен preventDefault ...

Я попытался найти родительские действия и добавить preventDefault=false, но не повезло.

ответ

1

Очевидно, вам нужно вызвать действие, чтобы сделать это. Что вы могли бы сделать это:

<a href="newPage.htm" {{action 'emptyAction' preventDefault=false}}>Go</a> 

Вот ссылка с дополнительной информацией о emberjs:

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

+0

Спасибо, что довольно дерьмо не так! :) –

+1

Приятная находка. Werid, но просто. –