向用户显示global / misc错误消息

时间:2015-05-26 14:40:59

标签: ember.js ember-cli

我正在尝试在Ember中显示用户的错误消息。有没有办法从Logger执行此操作?我已经阅读了关于错误子状态的信息,但我认为只有在转换中出现错误时才会显示。有没有办法让我在ApplicationController中将属性设置为错误消息对象(从而在模板中显示)?如果在AJAX调用,错误或其他问题中出现错误,我希望通知用户某些内容出错。

Coffeescript:

 Ember.Logger.error = (message, cause, stack) ->
  console.error(message, cause, stack) #show in console
  Raygun.send(new Error(message), null, { cause: cause, stack: stack }) #log error on server

  # how do I display the error message to user?, THIS DOESN'T WORK b/c "this" is undefined:
  @container.lookup('controller:main').set('errorObjetct', message)

我在ember-cli中使用Ember 1.11.1。

有人对此有任何提示吗?

布赖恩

1 个答案:

答案 0 :(得分:0)

感谢@blessenm的链接。它没有精确应用,因为在Ember-CLI中我没有引用全局应用程序变量,它确实提醒我initialize函数通过"容器"宾语。因此,我能够让它像这样工作:

Ember.Logger.error = (message, cause, stack) ->
  console.error(message, cause, stack) #show in console
  Raygun.send(new Error(message), null, { cause: cause, stack: stack }) #log error on server

  # SOLUTION:
  container.lookup('route:application').set('errorObject', message)

这可以在initializers/error-handling.coffee initialize函数中运行。