Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
Ember.js: Proper way to cast Em.$.getJSON into a promise and bind response to controller context?
我正在用$.getJSON获取一些数据,我想异步绑定到控制器上下文。我在我的路线上想出了这个——它很有效,但我对此不满意:
setupController: function(controller, model) {
this._super(controller, model);
Em.RSVP.Promise.cast(Em.$.getJSON((this.get('ENV.apiBaseURL')) + "/users/current/live_matchday_stats")).then((function(_this) {
return function(s) {
return _this.controller.set('matchdayStats', Em.Object.create(s));
};
}
然后,在我的模板中,例如,我可以使用:
Foo: {{matchdayStats.foo}}
而且效果很好。有没有更好的方法来写这篇文章(也许没有promise强制转换和Em.Object创建)-我知道如果我把Em.$.getJSON放入模型挂钩中,这会自动起作用。
您可以使用DS.PromiseObject
var matchdayStats = DS.PromiseObject.create({
promise: Em.$.getJSON((this.get('ENV.apiBaseURL')) + "/users/current/live_matchday_stats")
});
controller.set('matchdayStats', matchdayStats);
这是Ember Data访问/显示相关对象以及模板中这些对象的属性的方式。
相关文章:
- ng绑定和ng href问题.ng href未从控制器加载数据
- 将指令绑定到控制器属性
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- 将角度材质设计复选框绑定到控制器中的数组
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 同一页面上两个不同控制器的Angularjs双向绑定字段
- 角度控制器不绑定服务对象属性 ng-repeat
- 在 AngularJS 中将数据从视图绑定到控制器
- 工厂和控制器之间的“绑定”
- 无法绑定到没有指令 + angularjs 标识符的控制器
- AngularJS路由未绑定控制器
- AngularJS隔离的作用域和控制器绑定
- 角度 JS - 数据未从控制器绑定到视图
- 我想要从控制器绑定iframe的src
- Ember.js视图值到控制器绑定
- Ember.js中使用{{render}} helper的嵌套控制器绑定
- 通过指令将元素添加到 DOM 并从控制器绑定范围监视(角度.js)
- 无法将更新的控制器绑定为变量以在 AngularJS 中查看