我有一个选择框,其内容是计算属性。 为了计算,我必须从商店找到一些记录。 Find返回一个必须解决的promise。但是如何?
以下是代码:
App.IndexController = Ember.Controller.extend({
selectedCategory:null,
person: function() {
var self = this;
//return [{"id":1,"name":"Dummy"}];
return this.store.find('author',1).then(function(author){
return author;
});
}.property('person'),
actions: {
submit: function() {
//alert("Submitted!");
}
}
});
和jsBin:http://jsbin.com/pexolude/167/edit
ps。:我知道我可以创建一个函数,并在then
内设置person属性,但我想学习解析并返回promis'结果。 (如果可能的话。)
答案 0 :(得分:1)
您尝试的方法不起作用,因为计算属性将返回承诺本身,而不是承诺返回的内容。
This answer使用计算属性详细说明 工作的方法(Ember v1.6.1)。但是,正如您所指出的那样,简单地定义从观察者内部设置属性可能更快,更易读。