2016-12-20 2 views
0

私は関数を起動してリダイレクトするボタンを持っています。関数が返るまでリダイレクトをストールすることは可能ですか?関数が戻るまでのリダイレクトの停止(角度/ HTML)

これは、最初の関数がパラメータとして設定した変数を使用する宛先ページに2番目の関数があるためです。最初の関数が使用する変数を設定する前にリダイレクトが行われます。 2番目の関数のパラメータ。

マイボタン

<button class="btn btn-sm btn-primary" ng-click="selectCharacter(character)" ui-sref="apply" ng-show="application"> 
     Select 
</button> 

HTMLタグあなたがボタンからUI-SREF属性を削除してみてください最初の関数によって

<form ng-Submit="getCharacterInfo(apply)" ng-init="getCharInfo(current_user, current_user_realm)"> 
+0

2つの機能を別々に呼び出す理由少なくとも、ボタンをクリックしてから両方をリダイレクトすることができます。 ng-submit – jbrown

+0

を使用しないで、1つの関数を使用するか、約束を使用するか、または両方の組み合わせを使用します。あなたはいくつかのコードを表示する必要があります – Ladmerc

答えて

1

を設定したパラメータを使用して、NG-initで第2の機能を呼び出しますしたがって、自動的に "リダイレクト"されません。

<button class="btn btn-sm btn-primary" ng-click="selectCharacter(character)" ng-show="application">Select</button> 

は次に、更新コントローラは、プログラムリダイレクトする:selectCharacter機能は、それが今実行するもの実行完了したとき、それは、プログラムの状態を変更することができる:

まず、UI-SREFを除去

$scope.selectCharacter = function(char) { 
    // do whatever needs to be done here 

    // redirect to the 'apply' state programmatically. Don't forget to inject the $state service 
    $state.go('apply'); 
}; 
+0

ありがとう、それは魅力のように動作します! – Flux

関連する問題