2017-10-06 9 views
0

私のウェブサイトがロードされると、特定の状態にリダイレクトされます。私は次のコードでそれを行います。angular.jsに状態をロードする前に、特定のコントローラに移動します。

angularRoutingApp.run(function ($rootScope, $state, $location, $transitions) { 
    $transitions.onStart({}, trans = > { 
     $state.go('menuNeurolengua', trans.targetState()) 
    }); 
} 

しかし、私はこの問題を投げる:

enter image description here

どのように私はそれを解決できますか?

+0

通常は、「ロード時の特定の状態にリダイレクトされました」をデフォルトの状態で実行するだけです。このコードは、使用しようとしている*を含むすべてのトランジションをオーバーライドしているため、決して動作しません。*これは無限ループを引き起こします。あなたのケースでデフォルト状態が使用できないという特別な理由はありますか? – Claies

+0

@Claies私は知っています。私は単にこれを行う方法を学び、その例をとり、必要な検証をしたいだけです。あなたはこれで私を助けてくれますか? – yavg

+0

@Claiesユーザーがブラウザから直接Webページをリロードするとき、またはf5を使用して検出する方法を知りたい。私がすると、ページの内部ナビゲーションを強制するために、デフォルト状態にリダイレクトする必要があります。 – yavg

答えて

0

あなたの唯一の問題は見つけるされているユーザーリフレッシュページまたはページがロードされた場合、あなたはこのような何か(あなたは$ウィンドウを注入してください)を行うことができますので、:

if ($window.performance.navigation.type == 1) { 
    console.info("This page is reloaded"); 
} else { 
    console.info("This page is not reloaded"); 
} 
この答えで

詳しい説明: Check if page gets reloaded or refreshed in Javascript

関連する問題