Javascript 删除角2+中类的所有事件;
我刚刚开始用angular5编写代码,我遇到了删除点击事件中所有类事件的需要。 我们在Jquery中有如下内容Javascript 删除角2+中类的所有事件;,javascript,angular,typescript,Javascript,Angular,Typescript,我刚刚开始用angular5编写代码,我遇到了删除点击事件中所有类事件的需要。 我们在Jquery中有如下内容 $('.m-active').removeClass('m-active'); 我正在angular2+(Typescript)中寻找替代方法。在angular2+中,最好使用绑定而不是jQuery <div [class.my-class]="isMyClass">div 1</div> <div [class.my-class]="isMyClass
$('.m-active').removeClass('m-active');
我正在angular2+(Typescript)中寻找替代方法。在angular2+中,最好使用绑定而不是jQuery
<div [class.my-class]="isMyClass">div 1</div>
<div [class.my-class]="isMyClass">div 2</div>
<button (click)="isMyClass = !isMyClass">toggle</button>
在Angular 2+中,最好使用绑定而不是jQuery
<div [class.my-class]="isMyClass">div 1</div>
<div [class.my-class]="isMyClass">div 2</div>
<button (click)="isMyClass = !isMyClass">toggle</button>
您可以使用document.querySelector all删除该类-在下面的示例中-我有两个div-实际上设置为红色/绿色文本,但使用querySelector all-我正在从div中删除红色类
函数toggleRedClass(){
var redDivs=document.querySelectorAll('.red');
if(红色定长){
对于(i=0;i您可以使用document.querySelector all删除类-在下面的示例中-我有两个div-实际上设置为红色/绿色文本,但使用querySelector all-我从div中删除红色类
函数toggleRedClass(){
var redDivs=document.querySelectorAll('.red');
if(红色定长){
对于(i=0;i您可以创建如下指令:
我知道它并不能完全满足您的需要,但我们的想法是创建一个指令,它有一个名为class
的选择器,然后您可以访问应用程序中的所有类(显然,这个组件应该在您的模块中声明)
然后,您可以在该指令中执行任何您想执行的操作,您可以使用主机绑定来重写类等等
您可以为某个按钮创建事件监听器,将事件监听器的调用传递回此指令,并让它执行任何您想要的操作。您可以创建如下指令:
我知道它并不能完全满足您的需要,但我们的想法是创建一个指令,它有一个名为class
的选择器,然后您可以访问应用程序中的所有类(显然,这个组件应该在您的模块中声明)
然后,您可以在该指令中执行任何您想执行的操作,您可以使用主机绑定来重写类等等
你可以为某个按钮创建一个事件监听器,将事件监听器的调用传递回这个指令,让它做你想做的任何事情。我得到了你的解决方案。但它对我不起作用,因为我使用类根据条件切换组件,所以删除该类并添加它对我来说就像jQueryisMyClass一样有效e> 是条件。也许你可以分享更多关于你的需求的细节,以便于讨论。我有组件c1,点击事件我将其隐藏,我有组件c2,点击事件我将隐藏c2,并希望显示c1,但我猜removeclass在这里不起作用,因为这些组件彼此不知道我认为会创建复制是一个好主意。我认为使用简单的角度绑定不难实现。您可能应该管理父组件上的条件。我得到了您的解决方案。但它对我不起作用,因为我使用类根据条件切换组件,所以删除该类并添加它对我来说就像我们使用的方式一样对于jQueryisMyClass
是一个条件。也许你可以分享更多关于你的需求的细节,以便于讨论。我有组件c1,点击事件我隐藏它,我有组件c2,点击它我会隐藏c2并显示c1,但我想removeclass不会在这里工作,因为这些组件是u我认为创建一个复制品是一个好主意。我不认为用简单的角度绑定很难实现。您可能应该管理父组件上的条件。
@Directive({
selector: '[class]'
})
export class ClassDirective {
@Input('class') claz;
private _claz;
public set claz(claz){
this._claz = claz;
}
public get claz(){
return this._claz;
}
@HostBinding('class') get hostClass(){
return this.claz;
}
constructor(){
console.log('***');
}
ngOnInit(){
console.log('this.classz',this.claz);
setTimeout(()=>{
this.claz= this.claz.replace('milad','');
},2000)
}
}