我有一个使用Ionic / Cordova构建的简单应用程序。在每个页面中,我想创建一个简单的“返回”块按钮 - 用户可以按下它以转到应用程序中的上一页。
我正在考虑使用$ ionicHistory来做这件事。但是,方法 $ ionicHistory.goBack()无效。
我目前正在使用通常的 window.history.back(),这有效,但我不明白为什么离子方法不能正常工作。
以下是代码视图:
Case $hFinddAllButton
GUICtrlSetData($hList, '')
Redim $afound[0][3]
Local $sCout = 0
Local $sCounterText[0]
Local $sCounterNum[0]
For $i = 0 To UBound($matches)-1
If StringInStr($matches[$i][2], GUICtrlRead($hSearchInput)) Then
_ArrayAdd($afound, $matches[$i][0] &'|'& $matches[$i][1] &'|'& $matches[$i][2])
ReDim $sCounterText[UBound($sCounterText) +1]
ReDim $sCounterNum[UBound($sCounterNum) +1]
$sCounterText[$sCout] = $matches[$i][2]
$sCounterNum[$sCout] = $matches[$i][0]
$sCout += 1
EndIf
Next
For $s = 0 To UBound($sCounterText) -1
;~ ConsoleWrite($sCounterText[$s] & @LF)
;~ _ArrayAdd($afound, $matches[$i][0] &'|'& $matches[$i][1] &'|'& $matches[$i][2])
Local $sSplit = StringSplit($sCounterText[0], " ", 2)
Local $sSplit2 = StringSplit($sCounterText[$s], " ", 2)
GUICtrlSetData($hList, '[' & $sCounterNum[$s] &'] ' & $sSplit[0] & " Biltz (" & GUICtrlRead($hSearchInput) & ") - " & $sCounterText[$s])
Next
这是控制器:
<button class="button button-block button-assertive" ng-click="goBackHandler()">
Go Back
</button>
这应该是非常简单的。我能错过什么?
编辑:此处的Plunker - http://plnkr.co/yJqdfs
答案 0 :(得分:2)
$ionicHistory.goBack()
仅在您使用路由时以及使用$state.go('testPage')
导航到其他屏幕时才有效。
在你的手中
<a href="test.html">Go to Test Page</a>
这是一般浏览器重定向, IonicHistory 无法帮助您。
离子历史记录将根据它所具有的状态堆栈工作。
因为当您使用href="test.html"
重定向时,将没有状态推送到离子历史记录,因此$ionicHistory.goBack()
无法找到任何后退状态。
答案 1 :(得分:-1)
请使用这个。这对我有用。
window.history.back();