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

时间:2014-09-11 14:56:24

标签: angularjs

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

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

任何人都有一个不错的解决方案吗?

1 个答案:

答案 0 :(得分: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;
    }
  }
});

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

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

并在页面上检查它,如下所示:

if (AlertService.hasAlert()) {
  $scope.success = AlertService.getSuccess();
  AlertService.reset();
}