Chciałbym utworzyć niestandardowy typ wejścia podobny do sposobu, w jaki AngularJS implementuje "e-mail", na przykład.Jak utworzyć niestandardowy typ wejścia?
<input type="email" ng-model="user.email" />
Co chciałbym stworzyć to input type tak:
<input type="path" ng-model="page.path" />
Wszelkie pomysły, w jaki sposób można to osiągnąć? Do tej pory udało mi się tylko ustalić, w jaki sposób implementować dyrektywy niestandardowe, gdzie "ścieżka" jest nazwą znacznika, atrybutu lub klasy.
Na przykład mogę to uruchomić, ale jest to niespójne z innymi polami formularza i bardzo chciałbym, aby wyglądały tak samo.
<input type="text" ng-model="page.path" path />
app.directive('path', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) { ... }
};
});
Stwarza to błąd dla type = „file”, ponieważ kątowe spodziewa ngmodel teraz – Pascalius
@Pascalius można zmienić Wymagaj linii, aby: 'require: '? ngModel'' no uczynić ją opcjonalną. – Martin
'off' i' on' są metodami jQuery. To nie zadziała, dopóki nie załadujesz również jQuery. –