suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - 怎么做到跳转路由切换 view 的时候保存用户填写的表单数据?~

目前想到的办法是存到 $rootScope 上 显然不好……

可以保存到 Service 里吧 但是保存的时机是什么呢 监听表单 input 然后实时的去调用 setter 方法吗?~

有没有更优雅的方法?~

黄舟黄舟2744 Tage vor606

Antworte allen(3)Ich werde antworten

  • 过去多啦不再A梦

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

    如果是弹窗,那就可以公用同一个控制器

    如果一定要跳转路由,那么也有几种方式:

    你想到的$rootSope是一种

    还有就是用服务,可以用angular自身提供的$cacheFactory,他的api很简单,随便搜下看下就明白了。保存的时机就是你跳转的前一步就可以了。

    另外一种就是用将参数在跳转的时候保存到url上面,然后用$stateParams获取,应该没拼错

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 17:14:55

    可以把路由跳转写成js方式,然后点击跳转的时候先把信息保存起来,确定无误再跳转
    $scope.goToIndex2 = function () {

    $location.path("/2")

    }

    Antwort
    0
  • PHPz

    PHPz2017-05-15 17:14:55

    没有单独的保存按钮,ng-change的时候就调用一个通用的方法把整个表单保存起来,例如存在local storage里面

    我觉得这是最好的方法

    如果是在跳转路由的时候去保存,就要在所有的路由跳转上都加入这个保存方法,较多的路由设计就会很麻烦

    Antwort
    0
  • StornierenAntwort