2016-08-22 98 views
1

我刚刚开始使用Angular js。我对此表示怀疑。我想在重定向之后设置flash消息。在angularjs中重定向后设置flash消息

在我的情况下,我有一个表单,并通过http requst保存数据。在成功函数中,我把window.location()。这是另一页。我想在该页面中设置一条Flash消息。

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

将查询字符串/路由数据标志传递给另一个页面,读取标志并相应地显示flash消息 – Developer

+0

我不清楚这一点。可以解释..? – user6721756

+0

1.当您导航到“nextpage”时,沿着 - >#/ surpage/nextpage?show_message = true 2传递一个标志。在“nextpage”控制器中,读取“show_message”($ location.search()。show_message)的查询字符串值,如果该值== true,则显示您的flash消息 – 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

类型和味精是什么?请提供信息 – user6721756

+0

type =是错误消息还是成功,并在消息中显示您想要显示的消息。 –

0

编辑 - 添加代码

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,显示你的flash讯息
+0

请为这个..i'confused($ location.search()。show_message)添加代码 – user6721756

+0

@ user6721756 - 将$ location添加到您的控制器。 $ location.search()返回查询字符串值的对象。 – Developer

+0

value = $ location.search()。show_message; (value == true) { $ scope.successTextAlert =“Saved”; $ scope.showSuccessAlertMsg = true; } – user6721756

0

你可以使用toastr JS专门为flash。 http://codeseven.github.io/toastr/demo.html

通过使用下面的js代码,您可以显示一条flash消息。

For success message: toastr“success”;

对于错误消息: toastr“success”;