2015-01-12 2 views
0

Я создаю условную цель на основе, если ссылка является внешней или внутренней. Я хочу, чтобы внешние ссылки открывались на новой вкладке, но внутренние ссылки открывались на текущей вкладке.Использование страницы _blank вызывает открытие текущей и новой вкладки

это то, что у меня есть в моем шаблоне:

<a ng-href="{{newLink[1]}}" target="{{getLinkTarget(newLink[1])}}">{{newLink[0]}}</a> 

NewLink представляет собой массив, который содержит HREF (1) и имя (0), который будет использоваться.

Моя функция выглядит следующим образом:

$scope.getLinkTarget = function(link){ if(link.indexOf('http') !== -1){ return '_blank';} return '_self';}; 

Что я делаю неправильно? После проверки элемента ссылка отображается как правильная цель, но _blank цели открываются в обеих вкладках.

Большое спасибо. :)

ответ

0

Вы можете попробовать ng-attr-target вместо target, чтобы атрибут цели вычислялся только после того, как угловой обработал его.

Однако оба кажутся работающими, когда я пытаюсь воспроизвести. Какую версию углового вы используете?

Вот JSFiddle: http://jsfiddle.net/HB7LU/9930/

+0

Изменение в 'нг-атр-target' не работает. Я не знаю, что происходит, он загружает новую вкладку, но также загружает текущую вкладку, которая запутывает. – Heather

+0

По-видимому, мое событие щелчка, которое также было прикреплено к нему, было причиной этой проблемы. Спасибо за помощь. – Heather