Ich habe verschachtelte Komponenten. Jede Komponente hat eine Schaltfläche, um ihre verschachtelte Komponente anzuzeigen.Wie man ember-berechnete Modelldaten an verschachtelte Komponenten ohne Abfrage weitergibt?
Vom Controller übergebe ich Selectbox-Optionen (Abfrage im Geschäft) durch alle Komponenten. Aber die Abfrage wird durchgeführt, bevor die letzte Komponente mit selectbox angezeigt/gezeichnet wird. Eine echte Abfrage wird ausgeführt, wenn die zweite Komponente mit dieser Eigenschaft gezeichnet wird.
Gibt es eine Möglichkeit, die Abfrage nicht durchzuführen, bis sie wirklich benötigt wird, damit Selectbox gezeichnet werden kann? Ich wollte die Eigenschaft store nicht direkt in der geschachtelten Komponente speichern.
EDITED Wie von kumkanillam vorgeschlagen, arbeitete seine Lösung ziemlich gut, hier ist der Code, die Idee zu bekommen.
In Controler:
reactionTimesForOptions: null,
allReactionTimes: function() {
return this.get("store").findAll("reaction-time");
}.property("store"),
actions:{
initialiseRatingOptionsData(){
if(Ember.isEmpty(this.get("reactionTimesForOptions"))) {
this.set("reactionTimesForOptions", this.get("allReactionTimes"));
}
}
In Controler hbs
{{#task-list
allReactionTimes=reactionTimesForOptions
initialiseRatingOptionsData=(action "initialiseRatingOptionsData")}
{{/task-list}}
Dann in nächsten 2 verschachtelten Komponenten
allReactionTimes=allReactionTimes
initialiseRatingOptionsData=initialiseRatingOptionsData
Und finnaly an Punkt klicken und meine Komponente zeigt, die müssen haben Daten aus der Datenbank, in der Komponente entscheiden über die endgültige Komponente
toggleRatingScreen(){
this.initialiseRatingOptionsData(); /* at this point query are done since needed only at this point*/
....
Was meinen Sie mit 'berechneten Modelldaten'? Beziehen Sie sich auf 'Auswahlbox-Optionen'? – kumkanillam
In Controller wie: allWorkQualities: function() { Rückgabe this.get ("speichern"). FindAll ("Arbeitsqualität"); } .property („store“), ich ich denke, sollte –