Stworzyłem bardzo prostą dyrektywę, która wyświetla parę klucz/wartość. Chciałbym móc automatycznie ukryć element, jeśli treść zawarta w transkluzji jest pusta (zero lub tylko biały znak).Jak ukryć element, jeśli zawarta w translatach zawartość jest pusta?
Nie mogę dowiedzieć się, jak uzyskać dostęp do treści, które są zawarte w dyrektywie.
app.directive('pair', function($compile) {
return {
replace: true,
restrict: 'E',
scope: {
label: '@'
},
transclude: true,
template: "<div><span>{{label}}</span><span ng-transclude></span></div>"
}
});
Na przykład chciałbym wyświetlić następujący element.
<pair label="My Label">Hi there</pair>
Ale kolejne dwa elementy powinny zostać ukryte, ponieważ nie zawierają żadnej treści tekstowej.
<pair label="My Label"></pair>
<pair label="My Label"><i></i></pair>
Jestem nowy w Angular, więc może być świetny sposób poradzić sobie z tego rodzaju rzeczy po wyjęciu z pudełka. Każda pomoc jest doceniana.
+1 dla każdej odpowiedzi, która pokazuje przypadek użycia dla ezoterycznego transcludeFn :). –
w transcludeFn, 'clone.text(). Trim(). Length' byłby nieco dokładniejszy – alalonde
+1 dzięki, to właśnie zaoszczędziło mi dużo czasu. – cgTag