如何从角度调用jQuery函数?

时间:2018-11-20 15:52:10

标签: jquery angular angular6

我从6号角开始,我对如何调用jquery函数有些困惑。

这是我的app.conponent.html:

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>
<div class="main">
<nav class="navigator">
  <ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link" onclick="openNav()" href="#"><i class="material-icons">menu</i></a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
</ul>
</nav>
</div>
<router-outlet></router-outlet>

这是我的app.component.ts:

import { Component, OnInit  } from '@angular/core';
import * as $ from 'jquery';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'Look jQuery Animation working in action!';

  public ngOnInit()
  {
$(document).ready(function(){
    $('#mySidenav').click(function(){
        document.getElementById("mySidenav").style.width = "250px";
        document.getElementById("main").style.marginLeft = "250px";
    });
    $('#mySidenav').click(function(){
        document.getElementById("mySidenav").style.width = "250px";
        document.getElementById("main").style.marginLeft = "250px";
    });
});
  }
}

如果我只使用$('div')。click(function(){)标签,这将按预期工作。但是我想,我需要将每个不同的ID与各自的功能区分开来。

从angular调用jQuery函数的最佳实践是什么?

感谢您的时间。

亲切的问候。

2 个答案:

答案 0 :(得分:0)

只需在控制台中输入:

npm i @ types / jquery

就是这样。

答案 1 :(得分:0)

使用

declare var $: any; 

请勿使用

import * as $ from 'jquery';

声明var $:任意; -为我工作