[英]Remove (and Add) Classes to HTML Element with jQuery, While Updating the DOM tree
[英]Add or remove DOM classes with jQuery in Angular
我正在将AngularJS应用迁移到Angular 2+。 为了在DOM中添加或删除CSS类,我应该如何在Angular 2+中实现以下代码:
link(scope, element, attrs) {
let app = angular.element(document.querySelector('#app'))
element.on('click', (event) => {
if (app.hasClass('nav-collapsed-min')) {
app.removeClass('nav-collapsed-min')
this.collapseService.notify(false)
} else {
app.addClass('nav-collapsed-min')
this.collapseService.notify(true)
}
return event.preventDefault()
})
}
在html中使用ngClass。 例如:
<div [(ngClass)] = "{'your-class-name': condition}"></div>
我最终使用了import {DOCUMENT} from '@angular/platform-browser';
的import {DOCUMENT} from '@angular/platform-browser';
操纵我的DOM
并实现我的功能,如下所示:
link(scope?, element?, attrs?) {
const app = this.document.querySelector('#app');
if (app.classList.contains('nav-collapsed-min')) {
app.classList.remove('nav-collapsed-min');
this.collapseService.notify(false);
} else {
app.classList.add('nav-collapsed-min');
this.collapseService.notify(true);
}
}
所以这对我来说很棒。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.