Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在单页应用程序中导航回去而不丢失信息_Javascript_Angularjs - Fatal编程技术网

Javascript 在单页应用程序中导航回去而不丢失信息

Javascript 在单页应用程序中导航回去而不丢失信息,javascript,angularjs,Javascript,Angularjs,我有一个单页应用程序,其中一个页面是一个搜索功能,可以显示联系人信息,在那里可以编辑、删除这些结果,等等 目前,如果我正在做一些事情,例如编辑联系人信息,并且出于任何原因想返回搜索页面,我将丢失搜索,必须重新输入 我的问题是,有没有办法改变浏览器后退按钮的行为来保留搜索字段中的信息?或者在页面上输入某种“软”后退按钮让我返回会更容易吗 非常感谢您提供的示例,并提前向您表示感谢 您可以将redux与redux persist结合使用,以便在使用浏览器中的本地存储进行导航后,应用程序状态将保持不变

我有一个单页应用程序,其中一个页面是一个搜索功能,可以显示联系人信息,在那里可以编辑、删除这些结果,等等

目前,如果我正在做一些事情,例如编辑联系人信息,并且出于任何原因想返回搜索页面,我将丢失搜索,必须重新输入

我的问题是,有没有办法改变浏览器后退按钮的行为来保留搜索字段中的信息?或者在页面上输入某种“软”后退按钮让我返回会更容易吗


非常感谢您提供的示例,并提前向您表示感谢

您可以将redux与redux persist结合使用,以便在使用浏览器中的本地存储进行导航后,应用程序状态将保持不变

redux的角度绑定:

超简单的服务示例,将搜索输入直接绑定到服务中的属性

若需要本地存储支持页面加载持久性,则应将方法绑定到ng change或使用ngStorage模块直接绑定到本地存储

angular
  .module('myApp', [])
  .service('searchService', searchService)
  .controller('searchCtrl', searchCtrl)

function searchService($http /* and any other injections needed*/ ) {
  this.state = {
    searchTerm = ''// pull value from localStorage if desired and modify to use setter bound to change event to update localStorage
  }; 

  // add any methods for $http if needed
  this.updateServer = function(value) {
    return $http.post(....
    }
  }
}

function searchCtrl($scope, searchService) {
  // since is object updating any properrties in view will be inherited in service
  $scope.state = searchService.state
}
看法



可以记住状态。您真正需要的只是一个简单的角度服务。在那个里存储任何状态,当控制器触发加载时,加载存储在服务中的任何模型(若有)。或者如上所述,在ui路由器中使用状态保存。如果您想将pageload持久化与localStorage@charlietfl你能给我举一个这样服务的例子吗?
<input ng-model="state.searchTerm">