컨트롤러에서 변수를 볼 수도 있습니다.
이 코드는 다른 모듈이 피드백 메시지를 표시 한 후 알림 표시 줄을 자동으로 숨 깁니다.
HTML :
<notification-bar
data-showbar='vm.notification.show'>
<p> {{ vm.notification.message }} </p>
</notification-bar>
DIRECTIVE :
var directive = {
restrict: 'E',
replace: true,
transclude: true,
scope: {
showbar: '=showbar',
},
templateUrl: '/app/views/partials/notification.html',
controller: function ($scope, $element, $attrs) {
$scope.$watch('showbar', function (newValue, oldValue) {
//console.log('showbar changed:', newValue);
hide_element();
}, true);
function hide_element() {
$timeout(function() {
$scope.showbar = false;
}, 3000);
}
}
};
DIRECTIVE 템플릿 :
<div class="notification-bar" data-ng-show="showbar"><div>
<div class="menucloud-notification-content"></div>
필자는 속성으로 제한된 지시문 만 필요로하고 임의의 요소에 지시문을 추가하면 임의의 요소의 다른 속성이 변경되었을 때이를 알 수 있어야한다. 제 경우에는 클래스입니다. – Agzam
클래스를 변경하는 코드를 수정하면 어쨌든 용서할 수없는 해결책이 될 수 있습니다. 클래스를 변경하는 순간 어떻게 든 요격해야합니다. – Agzam
내가 게시 한'$ watch'와 함께 가십시오. 그것은 당신이 필요로하는 것을 줄 것입니다. –