Javascript jQuery代码需要翻译成香草,这样我就可以在Angular中使用了

Javascript jQuery代码需要翻译成香草,这样我就可以在Angular中使用了,javascript,jquery,angular,typescript,ecmascript-6,Javascript,Jquery,Angular,Typescript,Ecmascript 6,我有一个模板上的代码,我正在将代码传输到Angular 4,但它不喜欢jquery上的$1,所以我需要一种方法,要么在Angular 4上使用它,要么将它转换为纯js,这样我就可以使用它 代码如下: $('#toggle-btn').on('click', function (e) { e.preventDefault(); if ($(window).outerWidth() > 1194) { $('nav.side-navbar

我有一个模板上的代码,我正在将代码传输到Angular 4,但它不喜欢jquery上的$1,所以我需要一种方法,要么在Angular 4上使用它,要么将它转换为纯js,这样我就可以使用它

代码如下:

$('#toggle-btn').on('click', function (e) {

        e.preventDefault();

        if ($(window).outerWidth() > 1194) {
          $('nav.side-navbar').toggleClass('shrink');
          $('.page').toggleClass('active');
        } else {
          $('nav.side-navbar').toggleClass('show-sm');
          $('.page').toggleClass('active-sm');
        }
      });

如何在不添加jQuery包的情况下执行此操作?

声明var$:任何

如果需要typescript定义,则将此包添加到package.json中


“@types/jquery”:“^2.0.45”,如何在vanillaJS中执行相同操作

function toggle(elements, className){
    Object.keys(elements).forEach(element => elements[element].classList.toggle(className))
}

function handleClick(e){
    e.preventDefault();
    if (window.outerWidth > 1194) {
        toggle(document.querySelectorAll('nav.side-navbar'), 'shrink');
        toggle(document.getElementsByClassName('page'), 'active');
    } else {
        toggle(document.querySelectorAll('nav.side-navbar'), 'show-sm');
        toggle(document.getElementsByClassName('page'), 'active-sm');
    }
}

document.getElementById('toggle-btn').addEventListener('click', handleClick);