2016-08-22 1 views
1

Я только начинаю с Angular js. Я в этом сомневаюсь. Я хочу установить flash messsage после перенаправления.Установить флеш-сообщение после перенаправления в angularjs

В моем случае у меня есть форма и я сохраняю данные через http requst. В функции успеха я помещаю window.location(). Это еще одна страница. Я хочу установить флэш-сообщение на этой странице.

JS

$scope.Save_Details = function (id) 
{ 

$http.post(base_url+"sur/sur/save_data/"+id,{data:$scope.Surdata}). 
success(function(response) { 
    // $scope.successTextAlert = "Saved"; 
    // $scope.showSuccessAlert = true; 

    window.location = "#/surpage/nextpage?show_message= true"; 
}); 
} 

новое обновление

var messageFlag = $location.search().show_message; 
    if(messageFlag && messageFlag === 'true'){ 
    alert(messageFlag); 
     $scope.successTextAlert = "Saved"; 
     $scope.showSuccessAlertMsg = true; 
    } 

вид

<div class="alert alert-success" ng-show="showSuccessAlert"> 
      <button type="button" class="close" data-ng-click="switchBool('showSuccessAlert')">×</button> <strong> {{successTextAlert}}</strong> 
     </div> 

кто-нибудь помочь мне?

+0

передать строку запроса/флаг данных маршрута на другую страницу, прочитать флаг и отобразить сообщение со вспышкой соответственно – Developer

+0

Я не понимаю, о чем. Может, объясните ..? – user6721756

+0

1. Когда вы переходите к «следующей странице», пропустите флаг вдоль -> #/surpage/nextpage? Show_message = true 2.В контроллере «nextpage» прочитайте строковое значение запроса для «show_message» ($ location.search(). Show_message), если это значение == true, покажите свое флеш-сообщение – Developer

ответ

1

Поместите этот код в HTML -

<!-- message text  --> 
<div class=" panel-{{alerts.class}}" ng-show="alerts.messages" > 
    <div ng-repeat="alert in alerts.messages track by $index" class="panel-body alert-{{alerts.class}}" >{{alert}}</div> 
</div> 

Поместите этот код в угловой модели -

$rootScope.alert = function(type,msg){ 
     $rootScope.message.push(msg); 
     $rootScope.alerts = { 
      class: type, 
      messages:$rootScope.message 
     } 
    } 

Для успешного сообщения -

$rootScope.alert('success',"Success !!!"); 

Для сообщения об ошибке -

$rootScope.alert('danger',"Error."); 
+0

Тип и msg - это то, что.? Предоставьте информацию – user6721756

+0

type = Это сообщение об ошибке или успех и в сообщении, какое сообщение вы хотите отобразить. –

0

EDIT - Добавление кода

yourAppModule.controller('nextPageController', function($location){ 

    var messageFlag = $location.search().show_message; 
    if(messageFlag && messageFlag === 'true'){ 
    //show your message 
    } 

}); 
  • При переходе к "СледующаяСтраница" передать флаг вместе -> #/surpage/СледующаяСтраница show_message = истинный
  • В "СледующаяСтраница" контроллера, прочитать значение строки запроса для «show_message» (инъекционные $ расположение к контроллеру и получить значение с помощью $ location.search(). show_message)
  • если это значение == т rue, показать ваше сообщение об ошибке
+0

Пожалуйста, добавьте код для этого..i'confused ($ location.search(). Show_message) – user6721756

+0

@ user6721756 - введите $ location в свой контроллер. $ location.search() возвращает объект значений строки запроса. – Developer

+0

value = $ location.search(). Show_message; if (value == true) { $ scope.successTextAlert = "Saved"; $ scope.showSuccessAlertMsg = true; } – user6721756

0

Вы можете использовать toastr JS специально для вспышки. http://codeseven.github.io/toastr/demo.html

Используя нижеследующий код js, вы можете отобразить флеш-сообщение.

Для успешного сообщения: toastr "success";

Для сообщения об ошибке: toastr "success";

Смежные вопросы