Ho creato una direttiva molto semplice che mostra una coppia chiave/valore. Vorrei poter nascondere automaticamente l'elemento se il contenuto escluso è vuoto (lunghezza zero o solo spazi bianchi).Come nascondere l'elemento se i contenuti esclusi sono vuoti?
Non riesco a capire come accedere al contenuto che viene transclusionato da una direttiva.
app.directive('pair', function($compile) {
return {
replace: true,
restrict: 'E',
scope: {
label: '@'
},
transclude: true,
template: "<div><span>{{label}}</span><span ng-transclude></span></div>"
}
});
Ad esempio, desidero visualizzare il seguente elemento.
<pair label="My Label">Hi there</pair>
Ma i prossimi due elementi devono essere nascosti perché non contengono alcun contenuto di testo.
<pair label="My Label"></pair>
<pair label="My Label"><i></i></pair>
Sono nuovo di Angular quindi ci può essere un ottimo modo per gestire questo genere di cose fuori dalla scatola. Qualsiasi aiuto è apprezzato.
+1 per ogni risposta che mostra un caso d'uso per l'esoterico transcludeFn :). –
nel transcludeFn, 'clone.text(). Trim(). Length' sarebbe un po 'più preciso – alalonde
+1 grazie, questo mi ha fatto risparmiare un sacco di tempo. – cgTag