2016-11-14 8 views
0

私は、angle-ui-routerデモアプリケーションと非常によく似たシナリオを持っています:ユーザが認証を必要とする状態にアクセスしようとするたびに、彼をログインにリダイレクトするフックがあります状態。追加の要件は、追加のクエリ文字列パラメータ(username)を使用してURLを介して状態にアクセスしたい場合、ログインページの対応する入力に自動入力する必要があることです。 app状態に似た他のすべての州の親であるshell抽象状態は私があれば(このshell状態はurl: '?username'を持ってデモアプリケーション 角度UIルータ - 状態のクエリ文字列パラメータが機能しない

  • であり

    • 私の状態の構造はとても似ています私loginコンポーネントが結合username: '<'

    • 0を持っている
    • )このパラメータは、すべての他の州に継承されるべき正しく理解状態はメカニズムが完璧に動作リダイレクト/ resolve

    username: $transition$ => $transition$.params().usernameそうのような全体のログインを持っています。唯一の問題は、loginの状態でresolveparams().usernameはブラウザでも私がhttp://mysite/#/somestate?username=fooのようなリンクに行っても未定義です。

    私が間違ってやっていることや、私が後に何を達成することができるか、考えてみてください。

    ありがとうございます!

  • 答えて

    1

    私は自分の質問に答えるつもりです。問題は実際にはログインリダイレクトフックにあります。そこに私はstate.target('login', params, {location: false})とログイン状態にリダイレクトしていたと私はからtransition.router.stateService.params有効な値を持っていた得ていた。

    私は実際にtransition.params()が私に正しいパラメータ値を与えることを発見したので、私は今それらのパラメータでリダイレクトすることができ、正常に動作します。

    まだ私は1つの問題があります。私はログイン後、最初に要求された状態にリダイレクトし、これらのパラメータをクエリ文字列からクリアするのが理想的です。それが可能であるかサポートされているかは誰でも知っていますか?

    関連する問題