Fragen Sie sich, ob es möglich ist, Objektreferenzvariablen zu aktualisieren, wenn Variable eine Zeichenfolge ist? Es funktioniert, wenn ich das ganze Objekt zuweist, aber nicht mit der Zeichenkette arbeitet. Ich könnte auch das ganze Objekt zuweisen, aber das Problem hier ist, dass ich kein Objekt brauche, aber ich brauche eine Zeichenfolge, da es eine globale Variable des Angular 2-Dienstes ist.Referenzvariablen aktualisieren
https://jsfiddle.net/009kqqrt/
obj = { var: 'initial' };
a = [{ test: 'old', new: 'no' }, { test: obj.var, new: 'yes' }];
o = { test: obj.var, new: 'yes' };
obj.var = 'objModified';
alert(o.test); // Changes correctly
obj.var = 'arrModified';
alert(a[1].test);
ist die jsfiddle.
Erwartetes Ergebnis wäre -
erste Alarm - 'objModified' zweite Alarm - 'arrModified'
In meinem Fall, bekomme ich immer 'Initiale'.
Okay, also gibt es keine Möglichkeit, den Wert zu ändern, ohne das Objekt mit der Referenz zu übergeben? –
@VdasDorls können Sie über das Array iterieren und manuell ändern – echonax