Hier ist das Szenariosetzen die abhängigen Tasten einer berechneten Eigenschaft zur Laufzeit
dep = function(){
cannot put any "this" here
}
obj = DS.Model.extend({
response: DS.attr(),
cp: Ember.computed(dep(), function(){ ...})
});
die berechnete Eigenschaft bekannt ist, nur nachdem das Modell geladen ist; Die Antwort ist ein JSON-Feld, das verschiedene Schlüssel enthält. Ich will die Abhängigkeit von Teilen der json, was genau Teil bekannt ist, nach dem Modell
das dep geladen wird() Funktion müßte Zugang haben, um „diese“, aber es funktioniert nicht, wenn es außerhalb der erstellen Anweisung definiert ist und es funktioniert nicht, wenn es als eine berechnete Eigenschaft entweder zum Beispiel
obj = DS.Model.extend({
response: DS.attr(),
dep:Ember.computed('response', function(){
some computation
and for instance
return 'response.path1{a,b}';
}),
cp: Ember.computed('dep', function(){ ...})
});
definiert ist
nicht funktioniert, entweder weil dep aus ist nicht nur ‚Antwort‘ Abhängigkeit zu ändern, müssten wir die gleiche Abhängigkeit von anzuwenden cp und dep, das tautologisch ist, und dep würde nicht benötigt werden
Eine andere Sache, die n tut ot Arbeit ist
obj = DS.Model.extend({
response: DS.attr(),
cp: Ember.computed(this.dep(), function(){ ...}),
dep(){ this.get('response')... }
});
So hat jemand weiß, wie die abhängigen Schlüssel einer berechneten Eigenschaft zur Laufzeit setzen, mit einer Berechnung abhängig von einer Modell-Instanz
dank
Dank viel es – user2725682
durch die Art und Weise gearbeitet, um Ihnen einen Funktionsaufruf anstelle des abhängigen Schlüssel der berechneten Eigenschaft setzen können sofern der Anruf keine Argumente hat und einen String zurückgibt. Ich habe es zuerst versucht und es hat funktioniert, aber als ich ein Argument für diese Funktion übergeben musste, funktionierte es nicht mehr – user2725682
@ user2725682 Ja. Du hast Recht..Ich habe meine Antworten aktualisiert. Bei Bedarf überprüfen Sie bitte meine Antworten mit Ihrer implementierten Lösung. – kumkanillam