在Ember.js中编写我的第一个应用程序时,我遇到了一个问题,我想通过使用jQuery调用一些API来执行操作。当此调用失败时,我希望将页面重定向到错误状态。
我一直试图绕过这一个。我创建了这样的动作:
Contributionkeeper.RepositoriesController = Ember.Controller.extend({
actions: {
delete: function(repo) {
Ember.$.ajax({
url: '...',
success: function(data) { },
error: function() {
//TODO: Raise error
});
}
}
});
我希望应用程序导航到错误子状态。我该如何解决这个问题?
答案 0 :(得分:2)
这取决于您是否要进入特定错误状态(对于一般应用程序,特定于存储库等)。
一般的想法是过渡到你想要的状态如下:
Contributionkeeper.RepositoriesController = Ember.Controller.extend({
actions: {
delete: function(repo) {
Ember.$.ajax({
url: '...',
success: function(data) { },
error: function() {
return this.transitionTo('yourErrorLocation');
});
}
}
});
有关详细信息,请参阅有关Loading and Error substates的文档。