当用户单击浏览器后退按钮时,在 Angular js 中未获取以前的状态数据
Not getting previous state data in Angular js when user clicks on browser back button
我正在开发 AngularJs 应用程序。我的问题如下
我使用复选框和单选按钮使用某些参数过滤了数据。数据过滤后,我已经转移到另一个状态。当用户点击浏览器的后退按钮时,我无法获取过滤后的数据。相反,我得到了一个广义的状态数据。
例如
我有专业人士名单,我根据年龄和性别应用过滤器以获得特定专业人士,在获得过滤器结果后,如果单击任何结果,我将重定向到一个新状态,即该专业人士的详细视图..现在,如果我单击浏览器的后退按钮,我将获得所有专业人员的列表,但我想要我的过滤列表..
请帮我解决这个问题..
如果我们在应用过滤器时在状态 url 中传递一些参数,这可以实现。但是如何实现这个..??
有人可以指导我吗??
您的查询参数是 URL 的一部分吗?例如,我在应用程序中进行分页和过滤,我的 URL 看起来像这样:
现在,映射到此的 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}
}
})
查看 documentation for ui router not of the state params 部分,该部分解释了默认值和 squash 的作用。重要的是要注意参数是字符串(注意 false 是 "false")。希望这有帮助。
我正在开发 AngularJs 应用程序。我的问题如下
我使用复选框和单选按钮使用某些参数过滤了数据。数据过滤后,我已经转移到另一个状态。当用户点击浏览器的后退按钮时,我无法获取过滤后的数据。相反,我得到了一个广义的状态数据。
例如
我有专业人士名单,我根据年龄和性别应用过滤器以获得特定专业人士,在获得过滤器结果后,如果单击任何结果,我将重定向到一个新状态,即该专业人士的详细视图..现在,如果我单击浏览器的后退按钮,我将获得所有专业人员的列表,但我想要我的过滤列表..
请帮我解决这个问题..
如果我们在应用过滤器时在状态 url 中传递一些参数,这可以实现。但是如何实现这个..??
有人可以指导我吗??
您的查询参数是 URL 的一部分吗?例如,我在应用程序中进行分页和过滤,我的 URL 看起来像这样:
现在,映射到此的 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}
}
})
查看 documentation for ui router not of the state params 部分,该部分解释了默认值和 squash 的作用。重要的是要注意参数是字符串(注意 false 是 "false")。希望这有帮助。