マイダッシュボードは、タイルが多数あり、それぞれのタイルに異なるページへのリンクがあるグリッドです。同じリンクの新しいタブの作成を避ける方法(既にブラウザで開いている)
リンクをクリックするたびに、以前開いたリンクに対しても新しいタブが作成されます。
** Angularを使用してブラウザで既に開いているリンクの新しいタブの表示を抑制するにはどうすればよいですか?
注:外部リンクがダッシュボードは、現在開いているタブを開くべきではありません**私は私のスクリプトファイル
$scope.openInNewWindow = function(url, $event) {
$window.open(url);
$event.preventDefault();
}
そして、私が使用してそれを呼び出すには、次のコードを使用している
:バニラのHTMLでは
<a class="ui-button ui-button-stretch" ng-href="{{link.url}}" ng-click="openInNewWindow(link.url, $event)">
私は同意するが、ディレクティブが過剰であると思います。単にtarget = ""をhtmlタグに入れてください。他の開発者にとってはより柔軟で分かりやすいでしょう。 –
@Tom Barstow私は既にリンクオブジェクト(外部のウェブサイトへのリンク)に自分のリンクを格納しています。これはdashboard.html上にあり、ユーザーがリンクをクリックするたびに新しいタブで取得する必要がありますユーザーがもう一度クリックすると(前のタブが開いている場合)、古いタブを再ロードする必要があります。新しいモジュールを導入せずにそれを行うことはできませんか? –
ああ、あなたの最新のコメントを読むのは、すべてのリンクがちょうど1つのタブに行くように聞こえる - 私は、あなたが何個のリソースがロードされているかに依存するx個のタブが必要だと思っていた。 )私の提案はBob Brinksが示唆したもので、 'ng-click =" ... "'を 'target =" myTab "'に置き換えるだけです。 – Tom