Я пытаюсь использовать $ ionicPopup в своей службе. Обычно, когда я использую в контроллере, он работает корректно. Нажмите кнопку мыши и проверьте здесь плункер. http://plnkr.co/edit/wIss45ijr0DfvUVB1GPG?p=preview
Но когда я использовал на заводе, он дает ошибку. Пожалуйста, проверьте ошибку в консоли.
Ошибка: превышен максимальный размер стека вызовов
http://plnkr.co/edit/l3rvPB7AZV1WIRbMEnXd?p=preview
ap.factory('utlity', ['$ionicPopup',function($ionicPopup) {
function showOtcresult(message){
var alertPopup = $ionicPopup.alert({
title: 'Alert',
template: message.toString()
});
alertPopup.then(function(res) {
console.log('Thank you for not eating my delicious ice cream cone');
});
}
return {
showOtcAlert:function showOtcresult(message){
showOtcresult(message)
}
}
}]);
Проблема здесь сводится к тому же имени для двух функций, вызвавших вызов цикла
showOtcresult
return {
showOtcAlert: function whateverNameForDebug(message) {
showOtcresult(message)
}
}
Там нет необходимости в имени в объявлении функции, так как он будет выполнен, вызвав ключ свойства showOtcAlert
, поэтому вам нужно сделать:
return {
showOtcAlert:function (message){
showOtcresult(message)
}
}