私はテンプレートを作成するためにいくつかのバージョンを試しましたが、RSVP.Promise
をパラメータとして返しています。約束を解決してもテンプレートにデータが表示されない
すべてのconsole.logには妥当な値が与えられているので、約束はであり、解決はです。 問題私は(という質問もあります)は、その解決値をテンプレートに戻す方法です。私のテンプレートで
// in controller.js
testA: Ember.computed('sessionAccount.account.id', function() {
let _this = this;
let promise = new Ember.RSVP.Promise(function(resolve, reject) {
_this.get('store').findAll('accounts2workgroup').then(function(a2ws) {
let workgroups = [];
a2ws.forEach(function(a2w){
if(a2w.get('rights')>1) {
workgroups.push(a2w.get('workgroup'));
}
});
console.log(workgroups);
_this.set('wgAsAdmin', workgroups); // this works
resolve(Ember.A(workgroups)); //=> [Object] in rendered template
// return workgroups; // no, not that way
});
});
promise.then(function(data) {
console.log('did resolve');
console.log(data);
})
return promise;
}).property('sessionAccount.account.id'),
testB: Ember.computed('sessionAccount.account.id', function() {
return new Ember.RSVP.Promise(function(resolve, reject) {
let workgroups = Ember.ArrayProxy.create([{'label': 'TestB Label'}]);
resolve(workgroups);
});
}),
testC: Ember.computed(function() {
return this.store.findAll('artists2workgroup').then(function(a2ws) {
let workgroups = [];
a2ws.forEach(function(a2w){
if(a2w.get('rights')>1) {
workgroups.push(a2w.get('workgroup'));
}
});
console.log(workgroups);
return workgroups; //=> [Object] in rendered
});
}),
testD: Ember.computed(function() {
return this.store.findAll('workgroup'); // this of course works, but that's not what I want...
}),
私はすべての私のように同様のテストをテスト:
<h4>TestB</h4>
{{#each testB as |wg|}}
{{wg}}<br>
{{wg.label}}<br>
{{/each}}
testB: {{testB}}<br>
testB.length: {{testB.length}}<br>
、すべての(しかし、明らかに、最後TESTD)を
にレンダリングここは、私が試したバージョンであります
TESTB
TESTB:[対象オブジェクト]
testB.length:ember1117 >
BB-推進
TESTB:< DS.PromiseObject私は期待/でしょうけれども
は彼らが
TESTB
< DS.PromiseObjectを表示したいです:ember1117 >
testB.length:1
私はそれを回避する方法があることを知っています(私はf.eを解決する際に別のプロパティを設定できます)が、正しい方法で行い、これを行う方法を学びたいと思います。 そして、私はこれらの例があまり意味をなさないと知っています。これは単なる基本的な機能ですが、これを実行すると機能が強化されます。
この包括的な回答をいただきありがとうございます。私はたくさんのことを学んだ! (ほとんどの事実を打つ、そのテンプルは約束していないことを知っている) – Jeff