2016-10-21 8 views
0

私は、ページからページへ行くために州を使用しています。 URLの1つからURL(id)のパラメータを読み込んでいますので、状態を定義するときに簡単に行うことができます。AngularJsを使用してURLパラメータを取得

.config(function($stateProvider) { 
     $stateProvider 
      .state("testing", { 
       url: "/testSession/:id", 
       controller: "UserTestSessionController", 
       templateUrl: "./app/components/userTestSession/user-test-session.html", 
       controllerAs: "vm" 
      }) 
    }) 

マイURLこのように見えた:私はこのように見えるようにURLを変更した場合localhost:8000\testSession\id

localhost:8000\testSession\id?otp="someStringValue"私は何とか状態のurlのparamにOTPを定義することができますか?それとも私はそれを完全に変更する必要がありますか?

+0

でそれらを分離することができますか? '$ location'を使ってクエリ文字列を取得できませんか? – Sajan

+0

@sajanそれが可能であれば、それをURLで定義する方が簡単でしょう。そうでない場合、私はいつも$ locationを使うことができます、私はそれに同意します。ちょうどそこに方法があることを確認したいと思った:) –

答えて

2

あなたはちょうどあなたが1以上のものを持っている必要がある場合は、url

?optを追加するには、URLにあるように、OTP必要がありますか「&」

.config(function($stateProvider) { 
     $stateProvider 
      .state("testing", { 
       url: "/testSession/:id?otp", 
       controller: "UserTestSessionController", 
       templateUrl: "./app/components/userTestSession/user-test-session.html", 
       controllerAs: "vm" 
      }) 
    }) 
+0

ちょうどもう1つの質問。コントローラから後でotpを取得する方法は?私は$ locationを使用しますか、それを行うにはより良い方法があります。今のところ、私はそのID = 1&OTPVALUEを得るからです。 @Weedoze –

+0

'$ stateParam.opt'を使用しました。 – Weedoze

+0

でしたが、Id = 1&otpvalueとotp = undefineを取得します。私の質問を更新し、コントローラからコードを追加しましょう。多分あなたは間違いがどこにあるか見るでしょう... @Weedoze –

関連する問題