2016-03-23 24 views
0

我有一個非常簡單的控制器,目前只有很少的功能。這是一個臨時解決方案,但我需要立即開始工作。 它叫做定時器$超時指令調用stateForward功能3秒,然後取消計時器,轉發到下一個視圖並清除緩存:

$scope.stateForward = function(){ 
    if ($scope.navigateBool) { 
     $timeout.cancel($scope.timer); 
     $state.go('app.newtView'); 
     $ionicHistory.clearCache(); 
    } 
}; 


$scope.timer = $timeout(
    $scope.stateForward, 
    3000 
); 

它在瀏覽器中工作正常,但是當我將它編譯到IOS或Android時,視圖就會卡住而且什麼也沒有發生。

+0

您正在測試哪些設備?您是在Windows還是OSX機器上開發?您可以使用Chrome(Android設備)或Safari(OSx設備)的開發人員工具,在設備上非常輕鬆地測試代碼。 – mhx

+0

你在哪裏調用「$ scope.timer」函數? – maleeb

+0

@mhx在Linux(Fedora 22)上開發。我已經在真實設備(Samsung S3 mini和iPhone 5S)上測試過了,這不是問題。問題在於$ timeout在瀏覽器(Chrome,Mozilla,Safari)中可用,但不在電話中。 –

回答

0

實際上,這是拋出ReferenceError:$沒有定義錯誤,因爲在下一個視圖中它缺少一個Javascript庫,所以它沒有進入下一個視圖,而是被卡在當前視圖。

所以$超時正常工作,問題出現時,應用程序構建。該庫不包含在apk文件中,但這是另一個問題。

相關問題