コンポーネントに簡単な自動擬似を実装しようとしています。私はfastbootをテストしているので、ember-networkを使って自分のAPIと通信しています。今私はember-dataを使用していません。これを行うための "エバー(ember)"方法であるかどうかは、別の質問です...私はこれを動作させようとしています。Ember:コンポーネントでember-network promiseからJSON応答を処理する
マイコンポーネントJS:
import Ember from 'ember';
import fetch from 'ember-network/fetch';
export default Ember.Component.extend({
searchText: null,
loadAutoComplete(query) {
let suggestCall = 'http://my.api.com/suggest?s=' + query;
return fetch(suggestCall).then(function(response) {
return response.json();
});
},
searchResults: Ember.computed('searchText', function() {
let searchText = this.get('searchText');
if (!searchText) { return; }
let searchRes = this.loadAutoComplete(searchText);
return searchRes;
})
});
、テンプレートで:
{{input type="text" value=searchText placeholder="Search..."}}
{{ log "TEMPALTE RESULTS" searchResults }}
{{#each-in searchResults as |result value|}}
<li>{{result}} {{value}}</li>
{{/each-in}}
テンプレートログディレクティブは私のコンソールでこれを出力している:
データがあります「提案」の中で、フェッチが機能していることを知っています。私はちょうどそれを得る方法を理解できません。私は '_result'をループすることはできません。これを解析してテンプレートで使用するには、私は何をする必要がありますか?計算されたプロパティから
同時実行事は本当に面白いです。私はそれを見てすぐにそれがfastbootで動作しないと思ったが、それはそうである!私はこれが将来的にはとても便利だと思います。ありがとう! – tarponjargon