Javascript Emberjs是处理异步ajax调用的好方法

Javascript Emberjs是处理异步ajax调用的好方法,javascript,ember.js,Javascript,Ember.js,我对emberjs很陌生,我想知道处理以下问题的最佳方法是什么: 视图: 在上面的示例中,setupController将首先完成并闪烁登录,当数据从ajax调用到达时,它将更改为I exist我尝试在模型中执行此操作,结果是相同的 目前,我使用一些jquery来隐藏和取消隐藏东西,但我不认为这是最好的方法?我觉得有点脆弱。任何建议都会很有帮助 谢谢您可以使用afterModel挂钩执行任何检查。此钩子使用jQuery返回的模型激发,但在setupController之前 model: func

我对emberjs很陌生,我想知道处理以下问题的最佳方法是什么:

视图:

在上面的示例中,setupController将首先完成并闪烁
登录

,当数据从ajax调用到达时,它将更改为
I exist

我尝试在模型中执行此操作,结果是相同的

目前,我使用一些jquery来隐藏和取消隐藏东西,但我不认为这是最好的方法?我觉得有点脆弱。任何建议都会很有帮助


谢谢

您可以使用
afterModel
挂钩执行任何检查。此钩子使用jQuery返回的模型激发,但在
setupController
之前

model: function() {
  return $.get("some/ajax/call",function(data){
      return data;
  }
},

afterModel: function(model) {
  // if model is not valid 
  // transitionTo another route etc
}

注意,您只需从jQuery
promise
返回
数据。Ember了解,当使用值解析承诺时,它是
模型

您可以使用
afterModel
钩子执行任何检查。此钩子使用jQuery返回的模型激发,但在
setupController
之前

model: function() {
  return $.get("some/ajax/call",function(data){
      return data;
  }
},

afterModel: function(model) {
  // if model is not valid 
  // transitionTo another route etc
}

注意,您只需从jQuery
promise
返回
数据。Ember理解,当承诺用值解析时,它是
模型

Thx。我改变了我所做的。如果模型为空,则使用after模式渲染另一个模板。所以我不需要任何丑陋的隐藏显示代码.Thx。我改变了我所做的。如果模型为空,则使用after模式渲染另一个模板。所以我不需要任何丑陋的隐藏显示代码。
model: function() {
  return $.get("some/ajax/call",function(data){
      return data;
  }
},

afterModel: function(model) {
  // if model is not valid 
  // transitionTo another route etc
}