키/값 쌍을 표시하는 아주 간단한 지시문을 만들었습니다. 변환 된 내용이 비어 있다면 (길이가 0이거나 공백 만있는 경우) 요소를 자동으로 숨길 수 있어야합니다.변환 된 내용이 비어 있다면 요소를 숨기는 방법은 무엇입니까?
지시어 내에서 중첩 된 콘텐츠에 액세스하는 방법을 알 수 없습니다.
app.directive('pair', function($compile) {
return {
replace: true,
restrict: 'E',
scope: {
label: '@'
},
transclude: true,
template: "<div><span>{{label}}</span><span ng-transclude></span></div>"
}
});
예를 들어, 다음 요소를 표시하고 싶습니다.
<pair label="My Label">Hi there</pair>
그러나 다음 두 요소는 텍스트 콘텐츠가 포함되어 있지 않아 숨겨져 있어야합니다. 좋은 방법은 상자 밖으로 이런 종류의 처리가 될 수 있도록
<pair label="My Label"></pair>
<pair label="My Label"><i></i></pair>
나는 각도에 새로운 오전. 어떤 도움을 주셔서 감사합니다.
난해한 transcludeFn :)에 대한 유스 케이스를 보여주는 모든 대답에 +1. –
은 clludeFn에서'clone.text(). trim(). length'가 조금 더 정확합니다. – alalonde
+1 덕분에 방금 많은 시간을 절약 할 수있었습니다. – cgTag