Ich arbeite an einem Website Restaurant als mein erstes ember Projekt und ich bin eine harte Zeit versucht, herauszufinden, wie das Menü Modell zu handhaben.EmberJS Modell Iteration von Wert
derzeit die Modelle/menu.js Datei liest sich wie folgt:
Import DS von 'glut-Daten';
export default DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
price: DS.attr('number'),
soyFree: DS.attr('string'),
glutenFree: DS.attr('string'),
addOnName: DS.attr('string'),
addOnPrice: DS.attr('number'),
type: DS.attr('string'),
isAppetizer: Ember.computed('type', function(){
return this.get('type') == 'Appetizer';
}),
isBreakfast: Ember.computed('type', function(){
return this.get('type') == 'Breakfast';
})
});
Meine Menüvorlagendatei ist:
<div class="col-md-8 col-md-offset-2 text-center">
<h2>Menu</h2>
<h2 class="text-center">Appetizers</h2>
{{#each model as |menu|}}
{{#if menu.isAppetizer}}
<p>
<span><strong>{{menu.name}}</strong> - <em>{{menu.description}}</em> - {{menu.price}}</span>
{{#if session.isAuthenticated}}<button class="btn btn-danger" {{action "deleteMenuItem" menu}}>Delete</button>{{/if}}
</p>
{{/if}}
{{/each}}
<h2 class="text-center">Breakfast</h2>
{{#each model as |menu|}}
{{#if menu.isBreakfast}}
<p>
<span><strong>{{menu.name}}</strong> - <em>{{menu.description}}</em> - {{menu.price}}</span>
{{#if session.isAuthenticated}}<button class="btn btn-danger" {{action "deleteMenuItem" menu}}>Delete</button>{{/if}}
</p>
{{/if}}
{{/each}}
</div>
{{outlet}}
Wie man sehen kann ich durch alle Menüeinträge Modell für jeden Abschnitt (Vorspeisen/Frühstück) zu wiederholen, habe. Gibt es eine Möglichkeit mit Ember, dass ich nur über den spezifischen Item-Typ für jeden einzelnen Block iterieren kann. . dh
{{#each model.type == 'Appetizer'}}
Fill the appetizer section
{{/each}}
Hier ist meine Route-Datei ist:
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return this.store.findAll('menu');
}
});
ah genial, das ist interessiert sein, was ich tun wollte, hatte aber meine Syntax falsch Dank! –
Erhalte einen Build-Fehler und versuche, deinen ersten Vorschlag zu verwenden: 5 | . Rückkehr this.store.findAll ('Menü'), dann (Ergebnis => { 6 | appetizerMenu: result.filterBy ('isAppetizer', true), > 7 | breakFastMenu: result.filterBy ('isBreakfast', true) |^ 8 |}); 9 | } 10 | }); –
versuchen 'dann ((Ergebnis) => {' – kumkanillam