javascript - toggleClass() 在 Angular 4 中不起作用

标签 javascript jquery angular typescript

我在脚本中添加了 jQuery 并使用了

 import * as $ from 'jquery';   

还有。我还在 HTML 文件中添加了 jQuery

但是我的 toggleClass() 函数不工作。当我检查控制台时,它没有显示任何错误。它只是空的。

下面是我的 HTML 和 ts 代码:

HTML 代码:

 <div class="web" (click) = "myFunc()">
    <p>
        Web Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
       $300
    </p>
 </div>
 <div class="design" (click) = "myFunc()">
    <p>
      Design &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      $400
    </p>
  </div>
  <div class="integration" (click) = "myFunc()">
     <p>
        Integration &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      $20
    </p>
  </div>
  <div class="training" (click) = "myFunc()">
    <p> 
     Training &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      $500
    </p>
  </div>
</div>
<div class="total">
   Total &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   $0
</div>

ts代码:

import { Component } from '@angular/core';
import * as $ from 'jquery';
//declare var jquery:any;
//declare var $ :any;
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  myFunc() {
    $(this).toggleClass("active");
  }
}

最佳答案

您不需要使用 jquery,只需将 View 上的点击绑定(bind)更改为 (click)="myFunc($event)",然后在 myFunc 更改为:

myFunc(e) {
    const target: HTMLElement = e.target;
    target.classList.toggle('active');
}

关于javascript - toggleClass() 在 Angular 4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51688460/

相关文章:

jquery - 查询 InfluxDb 以选择一系列标签键

jquery - 使用 Google map api 时出现 "gmap is not a function"

angular - 如何在angular2中调用动态样式

javascript - 使用 Raphael 操作 SVG

javascript - 使用 window.location.replace() 在 AJAX 上成功重定向

php - 获取 JSON - JQuery 和 PHP

javascript - 使用 getstream.io 发起一对一聊天时出错

javascript - 如何使用 npm 以最少的所需文件启动 Angular2 项目?

javascript - 在多维数组javascript或coffeescript中获取最大值

Javascript:我们如何组合事件?