Vielleicht ReSharper oder Visual Studio ist falsch, aber ich denke nicht, dass dies einen r-Wert zurückgibt. Ich denke auch nicht, dass es tatsächlich die Eigenschaft in dem $ parent Controller setzt:Warum gibt das keinen L-Wert zurück?
function getParentItem(path) {
var obj = $scope.$parent;
var param = null;
var items = path.split(".");
for (var i = 0; i < items.length; i++) {
var item = items[i];
var split = item.split("(");
if (split.length === 2) {
param = split[1].replace(/[\)\']/g, "");
}
obj = obj[split[0]];
}
if (param == null) {
var thisObj = obj;
return thisObj;
} else {
return { obj: obj, param: param };
}
}
Wenn ich dies tun:
getParentItem($scope.someProperty) = "yadda"
ich Fehler wahrscheinlich ReSharper markiert bekommen und ich denke, es funktioniert nicht tatsächlich den neuen Wert
Dieser Code ist nicht gültig. Sie können das Ergebnis eines Funktionsaufrufs nicht zuordnen. – Amy
Hier geht es nicht um Resharper, Sie können keinen String-Wert für eine Funktion festlegen. –
Ihre Funktion scheint nicht einmal etwas "zurückzugeben", das einem l-Wert ähneln könnte (abgesehen davon, dass dies in JS unmöglich ist)? Was erwarten Sie von ihm? – Bergi