2013-11-15 10 views
7

मुझे एक नियंत्रक मिला है जिसमें searchQuery और सुझाव संपत्ति है। सुझाव AJAX अनुरोध से आते हैं। मैं अपने कंट्रोलर में सुझाव संपत्ति को एक वादा कैसे कर सकता हूं?वादा आधारित संपत्ति एम्बर

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); 
    }); 
}) 

केवल कुछ स्थानों पर जहां तुम वापस/एक वादा और एंबर के ग्रहण करने के लिए आप वादा स्टोर करने के लिए नहीं करना चाहता था जा रहा भेज सकते हैं। मॉडल हुक, और संक्रमण के लिए/संक्रमण ToRoute विधियों। यदि आप वास्तव में वादे का ट्रैक रखना चाहते हैं, तो शेष समय वे इसे आपके पास छोड़ देते हैं।

+1

हाँ, यही वह है जो मैं ढूंढ रहा हूं, मुझे उम्मीद है कि मैं इसके बजाय वादा वापस कर सकता हूं। –

संबंधित मुद्दे