Ein benutzerdefiniertes Attribut dient zur Erweiterung der Funktionalität eines vorhandenen HTML-Elements und hat tatsächlich keine Ansicht. Wie in Ihrem Beispiel möchten Sie die Funktionalität eines Eingabefeldes erweitern. Es sollte aussehen wie eine Eingabe, Standard-Fokus/Form/Validierung usw. Eingabe-Verhalten und so weiter (wenn <input type="date"/>
würde ordnungsgemäß in allen Browser implementiert werden, würden wir sicherlich dies anstelle von jquery-datepicker verwenden).
benutzerdefinierte Elemente sind eine Möglichkeit, eigenes wiederverwendbares Element inklusive eine eigene Ansicht und eigene Funktionalität und Logik zu schreiben.
Beispiele:
benutzerdefinierte Element
- selbst gemacht picker (müssen einige Daten zeigen und so weiter = view)
- eigenen Autocomplete-Eingang (Sie eine Listenansicht benötigen für die Ansicht)
- wiederkehrende UI-Elemente (z. B. ein Daten, Bildpaar, wo das Bild immer auf der linken Seite und etwas auf Klick, 5 Zeilen HTML und Logik in einem benutzerdefinierten Element gewickelt)
benutzerdefiniertes Attribut
- eine 3rd-Party-Datumsauswahl verwenden (wie jQuery-ui, das wird nur ein jQuery Telefonieren eine Ansicht programmatisch hinzufügen)
- Google Maps Orte zum automatischen Vervollständigung (nur ein API-Aufruf, der den Eingabewert ändert und dynamisch hinzugefügte Ansicht, keine eigene Ansicht zeigt)
- ein Bild, das ein besonderes Verhalten haben soll (wie ein Bild, das einen Restanruf macht und das Bild ändert)
Tnx für die Erklärung. Etwas abseits, beim Erstellen von benutzerdefinierten Elementen, sehe ich @bindable. Was wird es verwendet? Ich habe etwas über das Zulassen von Attributen gesehen, aber ich benutze es nicht und Dinge scheinen zu funktionieren. –
Der @bindable-Decorator wird verwendet, um anzugeben, dass ein Feld im Ansichtsmodell eines benutzerdefinierten Elements als Attribut verwendet werden kann – dimlucas