$ionicHistory 用一个栈 来存储用户的浏览记录(视图、页面 )。
$ionicHistory.goBack(-1); 当前视图出栈。
$state.go("app.main"); 将app.main视图入栈。
比如转账功能。 账户页面(视图A)->转入页面(视图B)->转入成功(视图C)页面。 成功页面上提供 两个按钮,
分别是 返回,以$ionicHistory.goBack(-1)。来实现。
返回首页(视图D)。 以$state.go("app.main"); 来实现。
看一下栈中数据。
一、账户页面(视图A)->转入页面(视图B)->转入成功(视图C)
C
B
A
二、账户页面(视图A)->转入页面(视图B)->转入成功(视图C)-> 转入页面(视图B)
B
A
三、账户页面(视图A)->转入页面(视图B)->转入成功(视图C)->首页(视图D)
D
C
B
A
为何二、三 都是跳转到下一个页面。但是栈中存储数据不同呢。
因为 $ionicHistory.goBack(-1) 是直接将当前视图出栈。
$state.go("app.main") 是 将 首页视图压栈。
虽然这时候 转入跟首页都处于栈顶。但是栈中数据不一样。