Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ionic$超时无法在手机上工作_Javascript_Angularjs_Ionic Framework_Timeout - Fatal编程技术网

Javascript Ionic$超时无法在手机上工作

Javascript Ionic$超时无法在手机上工作,javascript,angularjs,ionic-framework,timeout,Javascript,Angularjs,Ionic Framework,Timeout,我有一个非常简单的控制器,目前只有很少的功能。这是暂时的解决办法,但我现在需要让它发挥作用。 它有一个名为timer的$timeout指令,该指令在3秒内调用statefroward函数,然后取消计时器,转发到下一个视图并清除缓存: $scope.stateForward = function(){ if ($scope.navigateBool) { $timeout.cancel($scope.timer); $state.go('app.newtVi

我有一个非常简单的控制器,目前只有很少的功能。这是暂时的解决办法,但我现在需要让它发挥作用。 它有一个名为timer的$timeout指令,该指令在3秒内调用statefroward函数,然后取消计时器,转发到下一个视图并清除缓存:

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


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

它在浏览器中运行良好,但当我将其编译到IOS或Android时,视图被卡住了,什么也没有发生。

实际上,它抛出了引用错误:$is not defined错误,因为在下一个视图中它缺少Javascript库,所以它没有进入下一个视图,而是停留在当前视图上


所以$timeout可以正常工作,问题出现在应用程序构建时。apk文件中不包含该库,但这是另一个问题。

您要在哪些设备上进行测试?您是在Windows或OSX机器上开发的吗?你可以使用Chrome(Android设备)或Safari(OSx设备)的开发工具在你的设备上轻松地测试你的代码。你在哪里调用“$scope.timer”函数?@mhx在Linux上开发(Fedora 22)。我已经在真实设备(三星S3 mini和iPhone 5S)上测试过了,这不是问题。问题是$timeout可以在浏览器(Chrome、Mozilla、Safari)中使用,但不能在手机上使用。好吧,这是个好消息。您熟悉开发人员工具吗?因为通过Google Chrome进行连接时,可以在连接的Android设备上实时“检查元素”。只需打开控制台,检查是否有任何错误。您甚至可以添加一些断点,以便一步一步地检查代码。查看此链接了解更多信息:如果可以,可以发布您收到的错误吗?(我几乎可以肯定一定有一个)这样我们才能找到解决方案。@mhx非常感谢您的提示,Chrome调试器是一个很棒的工具。我发现,它抛出了ReferenceError:$is not defined错误,因为在下一个视图中,我缺少一个JS库,所以它没有进入下一个视图,而是在当前视图中被阻塞。