这是我的问题,我在$rootScope
内部有一个函数,用于许多不同的离子模态。该功能切换状态,当它切换时,我想自动关闭当前打开的模态。
问题是我无法为每个模态编写(例如)$scope.someModal.close();
,因为它们都有不同的名称并且位于不同的范围内。
我可以执行something.closeAllModals()
或something.closeCurrentModal()
之类的任何功能吗?
答案 0 :(得分:1)
您可以将模态传递给$ rootScope函数:
$rootScope.functionName($scope.someModal);
然后从函数
关闭它$rootScope.functionName = function(modal) {
modal.close();
}
答案 1 :(得分:1)
在文件中调用此函数。
function closeAllwindows(isTrue) {
if (!isTrue)
$uibModalStack.dismissAll(); if you are using uib modal
$rootScope.$emit("CloseWindows", isTrue);
}
您将此$rootScope.$on
用于任何.js文件,它将$rootScope.$emit
来自任何地方
var closeWindows = $rootScope.$on("CloseWindows", function (name, isTrue) {
if (isTrue) {
closeationsheets(); // you can close the action sheet
if (alertPopup)
alertPopup.close(); // you can close the alert
}
else {
closeionicwindows();
closeationsheets();
if (alertPopup)
alertPopup.close();
}
});