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">