Vin*_*nce 43 javascript angularjs ionic-framework
构建一个Ionic应用程序突然遇到一个我发现很难调试的问题,浏览器"推迟"长时间运行的计时器任务导致我的视图只在其控制器中执行一次代码(即使控制器显式重新加载).
警告是:
延迟长时间运行的计时器任务以提高滚动平滑度.见crbug.com/574343.
我在追求的是什么:
提前致谢.
更新 我觉得重要的是要注意,虽然从来没有收到错误,只有警告作为我的问题的原因,我已经回到了工作版本.
此工作版本仍然出现警告但不影响我的应用程序的运行.
以及当你使用$ timeout执行任务时,你必须停止并销毁它们,否则它们会产生你说的错误
例如:
var timer = $timeout(
function() {
console.log( "Timeout executed", Date.now() );
},
2000
);
Run Code Online (Sandbox Code Playgroud)
如果您按上述方式启动超时,则必须按如下方式销毁计时器:
// When the DOM element is removed from the page,
// AngularJS will trigger the $destroy event on
// the scope. This gives us a chance to cancel any
// pending timer that we may have.
$scope.$on(
"$destroy",
function( event ) {
$timeout.cancel( timer );
}
);
Run Code Online (Sandbox Code Playgroud)
小智 1
当仅在第一次加载视图时调用函数时,我遇到了这个问题。注意到控制台中的此警告,但不确定这是否与仅调用一次函数有关。在控制器中,我将函数调用移至“$ionicView.enter”内,每次加载视图时都会调用它。
$scope.$on('$ionicView.enter', function () {
callMyFunction();
});
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
归档时间: |
|
查看次数: |
9898 次 |
最近记录: |