jquery - 错误 TS2304 : cannot find $ in angular 5 component

标签 jquery html typescript jquery-selectors angular5

我在角度组件中有一个侧边导航栏,它会在点击时展开,类似于 this .用于创建导航栏的 HTML 片段是:

HTML:

如名称(openNav()) 所示,以下 HTML 代码将扩展导航栏:

<div>
    <img (click)="openNav()" src="/imagepath" id="image">
</div>

下面的 HTML 代码将关闭导航栏:

<div id="mySidenav" class="sidenav">
    <ul class="navbar-nav mr-auto" id="sidenavContent">
        <li class="nav-item" id="close-btn">
            <img class="closebtn" (click)="closeNav()" id="white-cross" src="/assets/imagepath">
        </li>
        <li class="nav-item" id="close-btn">
           <p> Item 1 </p>
        </li>
        <li class="nav-item">
            <p> Item 2 </p>
        </li>

    </ul>
</div>



typescript :

使用的 typescript 是:

openNav() 
 {
     $("#mySidenav").css("width", "50%");   // Line A
 }

 closeNav() 
 {
    $("#mySidenav").css("width", "0%");   // Line B
 }

上面的 typescript 代码没有包含在ngOnInit()函数中。




问题陈述:

当我在命令提示符下执行 ng serve 时,我收到以下错误:

error TS2304: Cannot find name '$'.


$ 表示 typescript 中openNav() 和closeNav() 函数 中的行( typescript 中的A 行和B 行) .

我想知道该错误背后的主要原因是什么因为在执行 ng-serve 时有时会出现错误,有时却不会

最佳答案

我假设 $jQuery。您必须将 jQuery 添加到您的依赖项并将其导入到您正在使用它的文件中。我还建议为 jQuery 添加类型定义:npm install @types/jquery --save-dev

如果您以任何其他方式导入 jQuery,则只需添加类型即可。

关于jquery - 错误 TS2304 : cannot find $ in angular 5 component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50026194/

相关文章:

angular - 尽管有数据源,但 mat-table angular 6 不显示任何数据

json - 使用管道在 Angular 4 中选择选项过滤器

javascript - 如何使用正则表达式或其他方法从另一个字符串中提取两个 rgb 值/字符串

javascript - jquery $.(one,two).html();中有两个内容

jquery - eventDrop 在 fullCalendar 中

typescript - 如何根据数组项的某些键定义新类型?

jquery - DataTables:更改选择器的框架、字体和对齐方式

javascript:当 div 发生变化时如何排序?

html - 从菜单中删除最后一个分隔符

javascript - 如何在 JavaScript 中通过这个谜题?