2014-09-11 2 views
1

В простом приложении CRUD, которое я ожидал бы после успешного обновления, он перенаправил бы обратно в список элементов с сообщением об обновлении. Как бы вы это сделали, это угловой 1.3.x? Мои первоначальные мысли заключались в том, чтобы сделать что-то подобное, но наличие переменной успеха в URL-адресе глупо.перенаправление на состояние и сообщение об успешном завершении

$state.go('app.list', { 
    success: { 
    show: true, 
    msg: name + ' has been updated successfully.' 
    } 
}); 

У кого-нибудь есть достойное решение для этого?

+0

Можете ли вы создать плункер или jsfiddle, этот код действительно не затрагивает структуру вашего приложения. почему бы просто не использовать службу определения местоположения с переданным параметром? $ Location.path ('/ mypath/сообщение =? + Тзд); – SoluableNonagon

ответ

5

Итак, что я сделал, это создание службы для обработки моих предупреждений. Вот код услуги:

app.factory('AlertService', function() { 
    var success = {}, 
     error = {}, 
     alert = false; 
    return { 
    getSuccess: function() { 
     return success; 
    }, 
    setSuccess: function (value) { 
     success = value; 
     alert = true; 
    }, 
    getError: function() { 
     return error; 
    }, 
    setError: function (value) { 
     error = value; 
     alert = true; 
    }, 
    reset: function() { 
     success = {}; 
     error = {}; 
     alert = false; 
    }, 
    hasAlert: function() { 
     return alert; 
    } 
    } 
}); 

И я просто установить его, когда мне нужно нравится так:

AlertService.setSuccess({ show: true, msg: name + ' has been updated successfully.' }); 

и проверить его на странице, которая будет отображать его следующим образом:

if (AlertService.hasAlert()) { 
    $scope.success = AlertService.getSuccess(); 
    AlertService.reset(); 
} 
Смежные вопросы