2016-10-21 54 views
0

我正在使用狀態去頁面。從URL中的一個URL讀取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看起來像這樣:localhost:8000\testSession\id

如果我改變的URL看起來像這樣:localhost:8000\testSession\id?otp="someStringValue"我可以採用某種定義狀態的網址PARAM OTP?或者我需要完全改變它?

+0

你需要OTP是在URL分開?你不能使用'$ location'來獲取查詢字符串嗎? – Sajan

+0

@sajan如果甚至有可能,那麼在URL中定義它會更容易。如果沒有,我總是可以使用$ location,我同意這一點。只是想檢查有沒有辦法:) –

回答

2

您可以再補充?opturl

如果需要有多個,他們用「&」

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

只是一個問題。例如,我將如何從Controller獲取otp?我是否使用$ location,或者有更好的方法來做到這一點。因爲現在我得到了ID = 1和OTPVALUE。 @Weedoze –

+0

使用'$ stateParam.opt' – Weedoze

+0

我做了,但是得到了Id = 1&otpvalue和otp = undefine。讓我更新我的問題並從Controller添加代碼。也許你會看到錯誤在哪裏...... @Weedoze –