这很奇怪。我的(第一个)应用程序中有几个选项卡,每个选项卡都有几个不同的视图。是的,要编码的最后一个标签让我感到悲伤。
当使用桌面浏览器时,完全没有问题 - 没有损坏的JS,动画很流畅,一切看起来都很棒,因为我从选项卡仪表板中的视图1转换到视图2,然后从视图2转换到视图3。 / p>
当我构建应用程序并尝试使用我的iPhone(5)时,视图1和2之间的过渡要么完全被打破(停止中途),要么发生迷你癫痫发作(前进和后退,然后再转发)登陆视图2.在视图2和视图3之间可以/确实发生同样的事情。当我去检查其他不相关的标签/视图时,这种情况永远不会发生。
我真的完全失去了,因为这种行为只发生在移动设备上的这3个视图中。桌面测试环境中没有任何内容。
我没有要显示的代码,因为我不知道从哪里开始使用代码。没有JS错误,没有。我已经注释掉了大部分相关控制器的JS和.html视图代码,只是将$ timoeut与$ state.go一起在视图之间导航(而不是按下按钮),同样的问题就出现了。
有什么想法吗?这真的是我的目标。
感谢。
PS。为了拥有代码,我将为这些视图添加我的路由器代码,因为它几乎是唯一没有被注释掉的代码 - 虽然这个路由器代码与我的应用程序的其余代码非常相似(和直到现在都没有问题):
.state('tab.dashboard-add-step-1', {
url: '/dashboard-add-step-1',
cache: false,
data: {
requireLogin: true
},
views: {
'tab-dashboard': {
templateUrl: 'templates/tab-dashboard-add-step-1.html',
controller: 'DashboardAddStepOneCtrl as dashboardAddStepOne'
}
}
})
.state('tab.dashboard-add-step-2', {
url: '/dashboard-add-step-2',
cache: false,
params: {
'listing': null
},
data: {
requireLogin: true
},
views: {
'tab-dashboard': {
templateUrl: 'templates/tab-dashboard-add-step-2.html',
controller: 'DashboardAddStepTwoCtrl as dashboardAddStepTwo'
}
}
})
.state('tab.dashboard-add-step-3', {
url: '/dashboard-add-step-3',
cache: false,
params: {
'listing': null,
'listingAttributes': null
},
data: {
requireLogin: true
},
views: {
'tab-dashboard': {
templateUrl: 'templates/tab-dashboard-add-step-3.html',
controller: 'DashboardAddStepThreeCtrl as dashboardAddStepThree'
}
}
})
更新,它更奇怪: 我似乎已经将问题缩小到执行步骤之间转换的功能。但是,如果从$ timeout调用,则函数完全正常/转换是平滑的。但是当通过ng-click或ng-submit调用时,它表现不佳(跳跃/破坏过渡)。
这是简单的代码:
$scope.doStepOne = function() {
$state.go('tab.dashboard-add-step-2');
};
$scope.timer = $timeout(function() {
$scope.doStepOne(); //the transition when called from here works perfectly
}, 5000);
但是当从ng-submit或ng-click调用相同的函数时,转换是混乱/丑陋的:
<button class="button button-calm" ng-click="doStepOne()"> Continue to Step 2</button>
有什么想法?我看不出基于事件的函数调用如何与$ timeout的行为不同。
答案 0 :(得分:1)
事实证明这是一个与iOS9相关的问题,我在iOS8的设备上试过它并且运行正常。
.....这引导我到以下补丁解决了这个问题,耶!!
<强>的信息:强>
http://blog.ionic.io/ios-9-potential-breaking-change/
<强>修补程序:强>