2017-09-20 9 views
0

ngのクリックを呼び出した後にURLにJavaScriptのリダイレクトは、私はリンクの下の1を持っている機能

<a ng-click="logout()"><i class="fa fa-sign-out" name="sign-out"></i> Logout</a> 

私が最初に彼らがlogout()関数を呼び出し、私は、このリンクをクリックしたとき、彼らは、以下のページ

にリダイレクトすることを望みます
https://demo.testlab.local/ 

クライアントは、logout()メソッドのコードを変更したくないという問題があります。しかし、私はこのリンクコード上の何かを書き換えることができます<a ng-click="logout()"><i class="fa fa-sign-out" name="sign-out"></i> Logout</a>

だから、彼らのための任意の解決策です。

+2

他の関数を割り当ててから、自分の関数で 'logout()'を呼び出してリダイレクトします。どこに問題がありますか?あなたは機能を追加することができます、そうですか? –

+0

@ user3441151あなたは 'ngRoute'または' ui-router'を使っているあなたのアプリケーションのルーティングを使用していますか? –

+0

@NarenMurali私の質問で既に述べたように、リンクコード ' Logout' – user3441151

答えて

0

logout()を変更しないと仮定すると、渡す引数を追加してもlogout()にある同じ機能を実行することを前提としていれば、方法と、その後ログアウトした後、それを呼び出す:

<a ng-click="logout(); newLogout()"></a> 

そして、方法、その後は簡単です:

newLogout() { 
    this.$state.go(); // Using ui-router to move 
    this.window.location = ""; // Using plain javascript 
} 

あなたはので、おそらくあなたがいなくても缶「のリンクのみに何かを書き換える」ことを言及しましたコントローラを変更しますか?コードの下

+0

私はコードで何も変更できません。 ' Logout' – user3441151

+0
1

使用:これは動作します

<a ng-click="logout()" ng-href="https://demo.testlab.local/"><i class="fa fa-sign-out" name="sign-out"></i> Logout</a> 

希望。

+0

あなたのお返事ありがとうございますが、これは動作していません。これを変更することで、どのコントローラでもない 'index.html'ファイルに書き込まれたjs関数を呼び出すことはできますか? – user3441151

+0

あなたはいくつかの解決策を持っていますか? –

+0

いいえ、私は同じ問題に直面しています。 – user3441151

0

あなたはボタンを使用すると、リンクに

<form action="https://demo.testlab.local/"> 
    <input type="submit" value="Logout" onclick="logout()"/> 
</form> 
+0

私はすでに私の質問で言及したが、私はリンクコード ' Logout' – user3441151

0

をリダイレクトすることができます送信するとあなたはこれを試すことができますが、それは本当に悪いですが、フォーム内のボタンのタグを使用することができます。

<a ng-click="logout()" onclick="setTimeout(function() { console.log('changing location'); }, 1000);">Logout</a> 

だけ挿入console.log('changing location');の代わりに実行するコード

編集: あなたが実際に必要とするのは、 :

<a ng-click="logout()" onclick="setTimeout(function() { window.location = 'https://demo.testlab.local/'; }, 1000);">Logout</a> 
+0

を除いて、彼らのコードに何も変更することができないはい私はコンソール内のメッセージを見ることができます。 – user3441151

+0

'console.log( '場所の変更');を' window.location = 'https://demo.testlab.local/'; ' –

+0

に置き換えてください。ここでは「1000」がタイムアウトですが、作業。彼らは他のページにリダイレクトした後、しばらく待っていますか? – user3441151

関連する問題