搜尋

首頁  >  問答  >  主體

angular.js - 怎麼做到跳轉路由切換 view 的時候儲存使用者填寫的表單資料? ~

目前想到的辦法是存到 $rootScope 上 顯然不好…

可以保存到 Service 裡吧 但是保存的時機是什麼呢 監聽表單 input 然後實時的去調用 setter 方法嗎? ~

有沒有更優雅的方法?~

黄舟黄舟2811 天前641

全部回覆(3)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:14:55

    如果是彈跳窗,那就可以公用同一個控制器

    如果一定要跳轉路由,那麼也有幾種方式:

    你想到的$rootSope是一種

    還有就是用服務,可以用angular自身提供的$cacheFactory,他的api很簡單,隨便搜下看下就明白了。保存的時機就是你跳轉的前一步就可以了。

    另外一種就是用將參數在跳轉的時候保存到url上面,然後用$stateParams獲取,應該沒拼錯

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 17:14:55

    可以把路由跳轉寫成js方式,然後點擊跳轉的時候先把訊息保存起來,確定無誤再跳轉
    $scope.goToIndex2 = function () {

    $location.path("/2")

    }

    回覆
    0
  • PHPz

    PHPz2017-05-15 17:14:55

    沒有單獨的儲存按鈕,ng-change的時候就呼叫一個通用的方法把整個表單保存起來,例如存在local storage裡面

    我覺得這是最好的方法

    如果是在跳轉路由的時候去保存,就要在所有的路由跳轉上都加入這個保存方法,較多的路由設計就會很麻煩

    回覆
    0
  • 取消回覆