내 AngularJS 템플릿에는 다음과 같은 사용자 지정 HTML 구문이 포함되어 있습니다.
<su-label tooltip="{{field.su_documentation}}">{{field.su_name}}</su-label>
그것을 처리하는 지시문을 만들었습니다.
.directive('suLabel', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
scope: {
title: '@tooltip'
},
template: '<label><a href="#" rel="tooltip" title="{{title}}" data-placement="right" ng-transclude></a></label>',
link: function(scope, element, attrs) {
if (attrs.tooltip) {
element.addClass('tooltip-title');
}
},
}
})
를 수행 할 때 속성이 Google 크롬의 자바 스크립트 콘솔에 표시 되더라도 attrs.tooltip
항상을 반환 하는 표현식을 제외하고는 모든 것이 잘 작동합니다 .undefined
tooltip
console.log(attrs)
어떠한 제안?
업데이트 : Artem에서 솔루션을 제공했습니다. 다음과 같이 구성되었습니다.
link: function(scope, element, attrs) {
attrs.$observe('tooltip', function(value) {
if (value) {
element.addClass('tooltip-title');
}
});
}
AngularJS + stackoverflow = 행복