Ionic 1 - 状态更改后弹出窗口无法正常工作
Ionic 1 - Popup not working properly after state change
我在特定控制器(如 Controller-1)中定义了一个 $ionicPopup。当我通过将状态更改为 $state.go('xxx.xx.xx') 从任何其他不同的 Controller-X 移动到 Controller-1 时,$ionicPopup 未按预期工作。但与此同时,如果我第一次打开 Controller-1,$ionicPopup 工作正常。状态变化导致问题。如何解决?
Controller-1 中 $ionicPopup 的代码是:
$ionicPopup.show({
title: "Delivery Not Available",
subTitle: 'Selected area is beyond our delivering area. You can place only Take Away orders.',
scope: $scope,
buttons: [{
text: 'Cancel',
onTap: function(e) {
return true;
}
},
{
text: '<b>OK</b>',
type: 'button-balanced',
onTap: function(e) {
$state.go('home.app');
}
},
]});
如果我第一次直接从 Controller-1 启动它,它会按预期工作:
Screenshot - Normal Case
但是,如果我使用 $state.go('xxx.xx.x') 通过状态更改从任何其他状态移动到 Controller-1,它会显示损坏的输出:
Screenshot - Failing Case
为您的弹出窗口创建一个这样的函数,并在您的成功回调函数中调用该函数,并确保您在写入成功回调的同一控制器中拥有此代码
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Title',
template: 'Are you sure?'
});
confirmPopup.then(function(res) {
if(res) {
console.log('Sure!');
} else {
console.log('Not sure!');
}
});
};
有关 Ionic Popup
的更多详细信息,请参阅此 link
我在特定控制器(如 Controller-1)中定义了一个 $ionicPopup。当我通过将状态更改为 $state.go('xxx.xx.xx') 从任何其他不同的 Controller-X 移动到 Controller-1 时,$ionicPopup 未按预期工作。但与此同时,如果我第一次打开 Controller-1,$ionicPopup 工作正常。状态变化导致问题。如何解决?
Controller-1 中 $ionicPopup 的代码是:
$ionicPopup.show({
title: "Delivery Not Available",
subTitle: 'Selected area is beyond our delivering area. You can place only Take Away orders.',
scope: $scope,
buttons: [{
text: 'Cancel',
onTap: function(e) {
return true;
}
},
{
text: '<b>OK</b>',
type: 'button-balanced',
onTap: function(e) {
$state.go('home.app');
}
},
]});
如果我第一次直接从 Controller-1 启动它,它会按预期工作: Screenshot - Normal Case
但是,如果我使用 $state.go('xxx.xx.x') 通过状态更改从任何其他状态移动到 Controller-1,它会显示损坏的输出: Screenshot - Failing Case
为您的弹出窗口创建一个这样的函数,并在您的成功回调函数中调用该函数,并确保您在写入成功回调的同一控制器中拥有此代码
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Title',
template: 'Are you sure?'
});
confirmPopup.then(function(res) {
if(res) {
console.log('Sure!');
} else {
console.log('Not sure!');
}
});
};
有关 Ionic Popup
的更多详细信息,请参阅此 link