Ich versuche, eine Direktive zu machen, die, wenn auf ein beliebiges Eingabeelement angewendet wird, ein Data-ng-Muster hinzufügt. jetzt möchte ich es binden. Ich schaute mich um und fand etwas, aber es funktionierte nicht.Binding dynamisch generierten Winkel Direktive Text auf einem Element
mainModule.directive("telephoneValidation", function ($compile) {
return {
restrict: "A",
replace: true,
link:
function (scope, element, attrs) {
element.attr('data-ng-pattern','^[\(]{0,1}[\+ ]{0,1}[0-9 ]+[\)]{0,1}[0-9\- ]*$/');
$compile(element.contents())(scope);
element.removeAttr('telephone-validation').empty();
}
};
});
Was möchten Sie damit archivieren: $ compile (element.contents()) (scope) ;? – eg16
Grundsätzlich innerhalb der Kompilierphase müssen Sie das 'ng-pattern' Attribut hinzufügen und das directory Attribut entfernen. Danach kompiliere Element von Link erneut. Werfen Sie einen Blick auf [diese Antwort] (http://stackoverflow.com/a/31062143/2435473) würde Ihnen helfen. –
@ eg16 Ich versuche, das DOM-Element neu zu kompilieren, um eine 2-Wege-Bindung für das Element zu erreichen, so dass angular das Element beobachtet und entsprechend reagiert. Momentan ist es ein benutzerdefiniertes Attribut. – NavalRishi