angularjs實現Form表單提交資訊登錄,點選「登入」後利用state.go跳轉傳遞數據,跳轉後如何接受數據?
//實現跳轉的程式碼 $state.go('landing_page',{'phone':$scope.phone,‘validCode’:$scope.validCode});
這裡的phone和validCode就是我需要傳遞的資料。
ps:表單提交頁面跳轉是用這種方式實現麼?還是用location比較好呢?
1.這種方式傳遞資料是可以的,不過會有一些小問題,如果你進入跳轉的那個landing_page狀態頁面的話,如果刷新這個頁面的話,那麼你隨路由傳遞過來的參數(路由參數除外)就會沒有了,這樣子就比較尷尬;所以一個好的建議就是,在跳轉路由之前將你需要的資料處理。 2.如果這些參數是路由参数的話,那麼不會出現上述的問題,路由參數會一直保存在路由中。 3.如果你隨路由傳遞的這些參數在跳轉之後的頁面也需要的話,那麼就需要在進入這個頁面之前重新獲取一下,可以嘗試使用ui-router插件的resolve方法將你需要的一些數據獲取到,然後注入到相應的控制器中去。
landing_page
路由参数
ui-router
resolve
1.這種方式傳遞資料是可以的,不過會有一些小問題,如果你進入跳轉的那個
landing_page
狀態頁面的話,如果刷新這個頁面的話,那麼你隨路由傳遞過來的參數(路由參數除外)就會沒有了,這樣子就比較尷尬;所以一個好的建議就是,在跳轉路由之前將你需要的資料處理。2.如果這些參數是
路由参数
的話,那麼不會出現上述的問題,路由參數會一直保存在路由中。3.如果你隨路由傳遞的這些參數在跳轉之後的頁面也需要的話,那麼就需要在進入這個頁面之前重新獲取一下,可以嘗試使用
ui-router
插件的resolve
方法將你需要的一些數據獲取到,然後注入到相應的控制器中去。