Avviso: newbie angolare avanti.Direttiva personalizzata AngularJS ng-show/ng-hide
Sto provando a creare un widget personalizzato che mostrerà per impostazione predefinita un collegamento "Rispondi" e, quando si fa clic, dovrebbe essere nascosto e una textarea dovrebbe essere mostrata. Ecco cosa ho finora, ma non funziona:
.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
};
})
Qualsiasi linea guida sarà apprezzata. Grazie!
Posso chiedere un esempio completo? – honzajde
@ user271996 C'è un jsFiddle con un esempio completo allegato alla risposta. Ti manca ancora qualcosa? –
Probabilmente è possibile associare la funzione di clic dell'etichetta tramite ng-clic nel modello invece di collegarlo manualmente nella funzione di collegamento. –