TypeError: Cannot set property " undefined
Aus irgendeinem Grund, ich kann nicht scheinen, um diese variable in den Bereich manipuliert werden.
Markup:
<label>Description only <input ng-model="filter.Description"></label><br>
<label>Tags only <input ng-model="filter.Tags.Text"></label><br> //This methodology works
<div ng-repeat="t in filteredTags" style="display:inline-block">
<button class="btn btn-warning" ng-click="FilterByTag(t.Text)">
{{t.Text}}
</button>
</div> //But I want these buttons to work for the same thing, and they don't
.....
<tr ng-repeat="b in filteredBookmarks| filter: filter:strict">
JavaScript:
$scope.FilterByTag = function (tagName) {
filter.Tags.Text = tagName;
};
Wenn ich die JS-variable $scope.filter.Tags.Text = tagName;
Ich erhalte eine Fehlermeldung, die lautet: TypeError: Cannot set property 'Text' of undefined
.
Hat jemand in etwas laufen ähnlich?
- Sie sind nicht ausreichend (oder zumindest den relevanten Teil) code zu verstehen, was das Problem hier ist. Offensichtlich aber
filter.Tags
ist nicht definiert. Können Sie code bereitstellen zu beweisen, dassfilter.Tags
existiert? Was ist diefilter
Objekt? Können Sie uns zeigen, wo Sie sind, schaffen Sie es? - Außerdem sollte es sein
$scope.filter.Tags...
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, initialisieren Sie Ihre filter-Objekt zuerst:
Ihre Funktion Lesen sollten:
Ihre
filter
Objekt ist auf der$scope
Natürlich es ist, weil die Hierarchie, Sie sind die Angabe für die Einstellung der tagName ist nicht vorhanden. so finden Sie die Tags selbst nicht definiert ist, und Sie versuchen, den Text festlegen, der Wert ist undefiniert und Sie haben den Fehler.
Versuchen, geben Sie einen Standard-Daten-Struktur des Objekts, wo Sie wollen, um den Wert zu speichern.