2013-11-15 11 views
7

私はsearchQueryとsuggestionsプロパティを持つコントローラを持っています。この提案は、AJAXの要求に基づいています。私のコントローラで提案プロパティを約束するにはどうすればいいですか?約束ベースのプロパティEmber

app/controllers/application.js

import Ember from 'ember'; 

const { computed, $ } = Ember; 

export default Ember.Controller.extend({ 
    searchQuery: '', 
    suggestions: computed('searchQuery', function() { 
    return $.getJSON(`songs/search.json?q=${this.get('searchQuery')}`); 
    }) 
}); 

答えて

9

私はあなたが提案プロパティへの約束を返すされているので、私は、約束の結果を得ることができますどのように、あなたが意味を前提としています。

searchQuery: '', 

suggestions: [], 

suggestionsUpdater: Ember.observer('searchQuery', function(){ 
    var self = this; 
    Ember.$.getJSON('songs/search.json?q=' + this.get('searchQuery')).then(function(data){ 
    self.set('suggestions', data); 
    }); 
}) 

あなたが約束を保存したくなかったと仮定しようと約束し、燃えさしのを送る/戻すことができる唯一のいくつかの場所があります。モデルhookおよびtransitionTo/transitionToRouteメソッド。残りの時間は、あなたが実際に約束を把握したい場合に備えて、それをあなたに任せます。

+1

ええ、それは私が探しているものです、私は代わりに約束を返すことができると思った。 –