템플릿을 만들 때 params로 여러 개의 버전을 만들거나 시도해 보았습니다.약속을 해결해도 템플릿에 데이터가 표시되지 않습니다.
모든 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