Advertencia: novato angular adelante.Directiva personalizada AngularJS ng-show/ng-hide
Estoy tratando de crear un widget personalizado que mostrará de forma predeterminada un enlace de "Responder", y cuando se haga clic en él, debe estar oculto y debe mostrarse un área de texto. Esto es lo que tengo hasta ahora, pero no funciona ::
.directive('replybox', function ($rootScope) {
var linkFn = function (scope, element, attrs) {
var label = angular.element(element.children()[0]);
scope.showInput = false;
label.bind("click", textbox);
function textbox() {
scope.showInput = true;
}
};
return {
link:linkFn,
restrict:'E',
scope:{
id:'@',
label:'@',
showInput:'='
},
template:'<a ng-hide="showInput">label</a><textarea ng-show="showInput"> </textarea>',
transclude:true
};
})
Cualquier directriz será apreciada. ¡Gracias!
¿Puedo pedir un ejemplo completo? – honzajde
@ user271996 Hay un jsFiddle con un ejemplo completo adjunto a la respuesta. ¿Todavía extrañas algo? –
Probablemente pueda vincular la función de clic de etiqueta mediante ng-clic en la plantilla en lugar de vincularla manualmente en la función de enlace. –