Ich habe ein Problem, bei dem der Code funktioniert, aber ich bekomme einen Tslint-Fehler, den ich nicht herausfinden kann. Dieses Setup funktionierte bei der Verwendung von Angular 1, aber jetzt konvertiere ich die Anwendung mit eckigen Klammern auf 4.Angular 4: Aufrufen von Regex-Mustern aus einem Objekt
Angular: Die Kennung 'vin' ist nicht definiert. Objekt enthält kein ein Mitglied.
Ich habe Regex Muster geteilt, die in einem Objekt gespeichert sind, das unten gezeigt wird. Es wird in meine Komponente importiert und dann mit [pattern]="patterns.KEY"
aufgerufen.
Das Muster funktioniert genau so, wie es sollte und Validierung funktioniert, aber ich bekomme immer noch den obigen Fehler, wenn ich es an einen meiner Eingänge anschließe. Liegt es daran, dass mir Datentypen unter patterns
fehlen? Wenn ja, wie wäre es definiert?
Der Fehler wird nur für die Vorlagendatei ausgelöst. Die Komponente und die Musterdatei haben keine Validierungsfehler.
Template Code:
<div class="form-group">
<label for="vin">VIN</label>
<input type="text" class="form-control" id="vin" placeholder="VIN"
minlength="8" maxlength="17" required [pattern]="patterns.vin"
[(ngModel)]="model.Vin" name="Vin" #Vin="ngModel">
</div>
Komponentencode:
export class COMPONENT_NAME implements OnInit {
patterns = Patterns;
}
Patterns Datei:
export const Patterns: Object = {
vin: /^[\w\d]+$/i,
};
Es funktioniert für mich in [dieser Plunk] (https://plnkr.co/edit/Qx9SFvsMVkOthmH53vGZ?p=preview) haben Sie aus der Datei korrekt importiert? Edit: Plunk mit Eingabe aktualisiert: muss mit 'a' beginnen und alle anderen Kriterien erfüllt – 0mpurdy
@ 0mpurdy es wirft einen Fusselfehler auf die Vorlage-Datei, aber es ist in Ordnung. Mehr ein lästiges Problem, kein Breaking-Problem. – austinthedeveloper
als Entschuldigung Ich habe nicht verstanden, dass es ein Flusenproblem war, versuche es nicht als 'Objekt' einzugeben und typescript abzuleiten, um welche Typen es sich handelt (oder erstelle eine Schnittstelle) – 0mpurdy