防止 ui-router 存储嵌套状态

Prevent ui-router to store nested states

是否可以防止ui-router 存储所有嵌套状态的历史记录?例如,我有一个 'list' 状态和 'list.item' 嵌套状态。当我点击一个项目时,我的 url 变成:

http://myurl/list/item/3

其中 3 是项目 ID。然后我点击下一项,url 变成:

http://myurl/list/item/4

等等。当我单击浏览器上的 "back" 按钮时,我想回到进入 'list' 之前访问的状态,忽略我单击项目时的所有嵌套状态。可能吗?

您可以在使用 $state.go 时使用替换选项,来自文档:

location - {boolean=true|string=} - 如果为 true 将更新位置栏中的 url,如果为 false 则不会。如果是字符串,必须是 "replace",这将更新 url 并替换最后的历史记录。

我认为您可以在转到项目的详细视图时使用 location false,这样 url 就不会更新。