2016-12-09 4 views
0

Ich versuche zu lernen EmberJS und restify. Ich habe get Methode API mit folgenden Antwort:nicht API-Antwort in Ember zu analysieren

{"products":[{"id":1,"name":"lappy1"},{"id":2,"name":"lappy2"}]} 

Diese Antwort, die ich meinen Browsers immer bin in Netzwerk-Protokoll.

Mein Produkt Route ist wie:

<div> 
<div class="row"> 
    <div class="col-md-4"><b>id</b></div> 
    <div class="col-md-4"><b>Name</b></div>  
</div> 
{{#each model.products as |product|}} 
    <div class="row"> 
     <div class="col-md-4">{{product.id}}</div> 
     <div class="col-md-4">{{product.name}}</div> 
    </div> 
{{/each}} 
</div> 

ist Ihr Produktmodell:

import Ember from 'ember'; 
     export default Ember.Route.extend({ 
      model() { 
       return { 
        products :this.get('store').findAll('product') 
       }; 
      } 
     }); 

Mein product.hbs ist

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name: DS.attr('string') 
}); 

Es gibt keine irgendein Fehler auf Klotz, aber meine Seite zeigt nur Header Teil dh

<div class="col-md-4"><b>id</b></div> 
<div class="col-md-4"><b>Name</b></div> 

Welches Ding fehlt mir?

Antwort

0

Installieren Sie das Chrome Ember-Plugin und verwenden Sie Chrome zum Debuggen.

Ich nehme an, Sie verwenden den RESTAdapter?

Ihr Route 's model Hook gibt ein Objekt zurück, kein Versprechen. Dies ist ein wenig seltsam, würde ich empfehlen, einen Hash mit:

model() { 
    return Ember.RSVP.hash({ 
    products: this.store.findAll('product') 
    }); 
} 

Alternativ können Sie nur das Ergebnis zurückgeben Shop von Aufruf:

model() { 
    return this.store.findAll('product'); 
} 

Aber in diesem Fall würden Sie Ihre Vorlagen ändern Verwenden Sie einfach model anstelle von model.products.

+0

Danke, können Sie mir sagen, warum Ember.RSVP.hash verwenden? – AkshayP

+0

'hash' gibt ein Versprechen zurück. Wenn Sie ein nicht-versprechen (einfaches Objekt) vom 'Modell'-Hook zurückgeben, wird Ember nicht auf die Auflösung warten. Ebenso gibt 'findAll' ein Versprechen zurück. Sofern Sie nicht ein komplizierteres Modell haben, empfehle ich das zweite Beispiel von 'Modell', wie in meiner Antwort gezeigt. HTH –

Verwandte Themen