重定向到州并显示成功消息

cod*_*bia 1 angularjs

在一个简单的CRUD应用程序中,我希望在成功更新后,它会重定向回到具有"更新成功"消息的项目列表.你将如何实现这个角度1.3.x?我最初的想法是做这样的事情,但必须在URL中有一个成功的变量是愚蠢的.

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

任何人都有一个很好的解决方案吗?

cod*_*bia 7

所以我最终做的是创建一个处理我的警报的服务.这是服务代码:

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;
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

我只需要在需要时设置它:

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

并在页面上检查它将显示如下:

if (AlertService.hasAlert()) {
  $scope.success = AlertService.getSuccess();
  AlertService.reset();
}
Run Code Online (Sandbox Code Playgroud)