2016-04-05 15 views
1

まず、私が出てきたタイトルが私がやろうとしていることを正確に記述しているかどうかはわかりません。AngularJS - ng-clickを使用して新しいウィンドウでリンクを開ける

私はタスクのテーブルを持っており、それぞれに割り当てアクションがあります。基本的には、通常の場合、ユーザーがリンクをクリックすると、そのリンクでタスクが割り当てられ、タスクの詳細ページにリダイレクトされます。これは単純なng-clickを使ってassign関数を呼び出してから、$location.path()関数を使って成功時にリダイレクトすることができます。このようにすると、href属性は必要ありません。

しかし、これにより、href値がないため、「中クリック」または「Ctrl +クリック」によって新しいタブでリンクを開くこともできなくなります。たとえば、一部のユーザーは通常、一度に複数のタスクに自分自身を割り当てます。典型的なサイトでは、いくつかの処理を行い、終了し、次に行きたいページを読み込む通常のリンクにすぎません。だから、複数のタブを開くことで逃げることができます。なぜなら、それらのすべてがリクエストを処理してから、そのページをレスポンスとして返すからです。

私はそこにIDを持っているので、ng-hrefという属性が追加されています。途中でクリック(またはctrl +クリック)すると、ng-click関数が呼び出され、ng-hrefは新しいタブを開きます。しかし今私が持っている問題は、アサイン関数呼び出しが非同期であるため、割り当て前にロードされたページが処理されたため、タブがロードされてロードされないことがあることです。

これをより信頼性高く正確にするために私が何ができるか考えている人はいますか?

答えて

0

あなただけ)(代わりに$のlocation.pathの

 $window.open(LOCATION); 

を使用することができませんか?

+0

私はそれを調べます。しかし、そのアイデアは、通常のリンクのようにページに誘導されるということでした。ただし、新しいタブを開いても同じ処理が行われますが、そのページを新しいタブとして開きます。 – kenshin9

関連する問題