allererst diese stecken ist mein Plunker: https://plnkr.co/edit/JbG6vlSbeWrBcmYhmhF1?p=previewDer Versuch, benutzerdefinierte Richtlinie mit kantigem 1.4.9 zu machen, aber mit Link-Funktion
Ich versuche Richtlinie zu machen Floating-Label hinzuzufügen, wie in diesem example einem Eingang gezeigt Feld.
Zum Beispiel habe ich folgende Eingabefeld:
<input floating-label placeholder="Better field" type="text" class="form-control" ng-model="floatingDirective"/>
floating-label
sollte in einer solchen Art und Weise arbeiten, dass sie es dem folgenden Code erweitern:
<div class="field">
<label ng-show="betterField" class="show-hide">Better field</label>
<input type="text" class="form-control" ng-model="betterField" placeholder="Better field"/>
</div>
Und ich dies nicht erreichen kann, , das ist meine Richtlinie so weit:
.directive('floatingLabel', function ($compile) {
return {
restrict: 'A',
require: 'ngModel',
scope: {
ngModel: '='
},
link: function(scope, element, attrs, ctrl, transclude) {
var wrapper = '<div class="field">' +
'</div>';
element.after($compile('<label ng-show="' + attrs.ngModel + '" class="show-hide">' + attrs.placeholder + '</label>')(scope));
element.wrap(wrapper);
}
}}
)
Kann nicht erkennen, wie 012 zu kombinieren, prepend
und append
erhalten gewünschte Struktur und wie man ng-show
arbeitet mit ng-model
Wert.
Vielen Dank im Voraus.
Eigentlich Ihre Lösung Arbeit und ich darüber nachgedacht, aber ich mag es tun in so wie ich es vorhatte, sonst müsste unser Team viel arbeiten, um alle Eingabefelder zu ersetzen, auch für andere Formularelemente muss ich noch eine Direktive machen. Ich werde deine Antwort in ein paar Tagen annehmen, wenn niemand eine andere geben wird. – Anatoly