当用户单击浏览器后退按钮时,无法在 Angular js 中获取以前的状态数据
Not getting previous state data in Angular js when user clicks on browser back button
我正在开发一个AngularJs应用程序。我的问题如下
我有一个使用复选框和单选按钮使用某些参数的过滤数据。过滤数据后,我已移至另一个状态。当用户单击浏览器上的后退按钮时,我无法获取过滤后的数据。取而代之的是,我得到了一个通用的状态数据。
例如。
我有专业人士列表,并且根据年龄和性别应用过滤器来获得特定的专业人士,并且在获得过滤器结果后,如果单击任何结果,我将被重定向到一个新的状态,即该专业人士的详细信息视图..现在,如果我单击浏览器的后退按钮,我将获得所有专业人士的列表,但我想要我的过滤列表..
请帮我解决这个问题..
如果我们在应用过滤器时在状态 URL 中传递一些参数,则可以实现这一点。 但是如何实现这一目标..??
任何人都可以指导我吗?
您的查询参数是 URL 的一部分吗?例如,我在应用程序中执行分页和筛选,我的 URL 如下所示:
http://localhost:51923/#/accounts/search?searchText=account&pageSize=25&pageNumber=1&someBool=true&someBool2=false
现在,UI 路由器中映射到此状态的状态如下所示:
.state("accounts.search", {
url: "/search?searchText&pageSize&pageNumber&someBool&someBool2",
params: {
searchText: { value: "", squash: true },
pageSize: { value: "25", squash: true },
pageNumber: { value: "1", squash: true },
someBool: { value: "false", squash: true },
someBool2: { value: "false", squash: true }
},
controller: "accountsController as vm",
templateUrl: "site/accounts/search/accounts.html",
data: { pageTitle: "Accounts" },
resolve: { //...resolve data here... },
someOtherStuffIfNeeded: { //stuff here}
}
})
查看 ui 路由器不采用状态参数的文档部分,其中解释了默认值和 squash 的作用。重要的是要注意参数是字符串(注意 false 是"false")。希望这有帮助。
相关文章:
- 从新的WordPress媒体上传程序获取JS回调
- 正在获取JS Slider页码
- 如何从谷歌脚本中获取JS变量
- 获取js对象键的值
- 如何从方法内部获取js方法名称
- 在php中获取JS var的值
- 使用 PHP 和 REGEX 解析 JS 脚本以获取 JS 变量值
- 获取JS中特定路径的cookie,不包括根路径
- 获取js执行环境的版本描述
- 获取js对象中值对应的键
- 安卓webview活动,如何获取js返回值
- 不断获取JS函数未定义错误
- 从C#中获取JS中对象文字的属性
- 在 Laravel 控制器中获取 js 值
- 获取 js 中包含 jsp 的值
- 获取 js 中链接的值
- 获取 JS 中的下拉变量返回未定义
- 从数组中获取 JS 函数的最小值和最大值
- 如何直接从 htmlparser2 获取 js 上下文
- 任何使用scratch获取JS对象的方法