我在角度组件中有一个侧边导航栏,它会在点击时展开,类似于 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/