如何从angular中调用jquery函数?

5w9g7ksd  于 2022-11-03  发布在  jQuery
关注(0)|答案(3)|浏览(180)

我从angular 6开始,对于如何调用jquery函数,我有点困惑。
这是我的应用程序. concomponent.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>

这是我的应用程序.组件.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函数的最佳实践是什么?
谢谢你的时间。
此致。

xxls0lw8

xxls0lw81#

只需在控制台中键入:
npm i @类型/jquery
就是这样。

huwehgph

huwehgph2#

使用

declare var $: any;

不要使用

import * as $ from 'jquery';

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

deyfvvtc

deyfvvtc3#

//I have loaded js file in index.html
<script>
    function loadSdgsCircle(){
        alert('ddddddddddd');
    }
</script>

//Call from Dashboard Component
import { Component, OnInit } from '@angular/core';
declare function loadSdgsCircle(): void;

@Component({
    selector: 'app-rms-dashboard',
    templateUrl: './rms-dashboard.component.html',
    styleUrls: ['./rms-dashboard.component.scss']
})
export class RmsDashboardComponent implements OnInit {
    ngOnInit(): void {
        loadSdgsCircle();
    }
}

相关问题