在angular中使用javascript文件?
我想在我的项目中使用它,我尝试: index.html在angular中使用javascript文件?,javascript,jquery,angular,typescript,Javascript,Jquery,Angular,Typescript,我想在我的项目中使用它,我尝试: index.html <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="assets/js/tableHeadFixer.js"></script> 然后我打电话: $('#dongbocmis_table').tableHeadFixer(); 但
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="assets/js/tableHeadFixer.js"></script>
然后我打电话:
$('#dongbocmis_table').tableHeadFixer();
但是我犯了这个错误
$(…)。tableHeadFixer不是函数
那么我如何修复它呢?以Angular(>v6)的正确方式导入所有文件,将其包含在样式和脚本数组下的.Angular cli.json
文件中;像这样:
"styles": [
...
],
"scripts": [
"assets/js/tableHeadFixer.js"
],
因此,请从Index.html文件中删除所有CDN和文件,然后像这样导入
其次,还需要声明jQuery
declare var $: any;
如果仍然出现任何错误,请告诉我。您只需声明$
。不要申报tableHeadFixer
声明常量$代码>很抱歉打断您,但您的问题反映了当今JavaScript社区的问题所在。你在问
如何将JavaScript应用到Angular中
jQuery和Angular都是JavaScript。他们引入的编程模式并没有改变这一事实
您共享的TypeScript代码也将编译为JavaScript。(假设您在尝试在web浏览器中运行.TS文件之前正在传输该文件)
你看到你的问题和代码片段让我大吃一惊,真的让我哭喊求救
无论如何,让我试着帮你编写代码。导入jQuery时,它会注册一个全局变量。因此,在您的web浏览器中,“$”将在您的
标记后可用
据我所知,您是在DOM表添加到网页之前运行此插件的
您可以通过运行console.log($)来检查$是否可用代码>或警报($)代码>
然后,通过执行console.log($.fn)
并检查控制台面板中的对象,可以检查jQuery插件的命名是否正确
console.log将日志输出到web浏览器的控制台面板
需要注意的一件重要事情是,其他东西(或多个jQuery)正在覆盖$,那么这个jQuery插件将丢失
转到浏览器控制台并开始键入“jQuery”,它将显示是否有多个jQuery实例
您也可以尝试使用jQuery()函数,而不是jQuery('#dongbocmis_table').tableHeadFixer()中的$()代码>
我希望这有帮助
-Sameer G代替声明var tableHeadFixer:any代码>试试这个声明var jquery:any;声明var$:任何有关更多详细信息,请参见此问题,您使用此方法的方式不适合处理angular。您应该使用tableHeadFixer创建一个指令,然后将其应用于元素。您得到的错误是什么?@AshishYadav:我添加了它,jquey工作得很好,但我在元素上得到了错误tableHeadFixer@jimboR,请按照此https://jsfiddle.net/2007ay/u380uLg0/9/
jsiddle链接,同样的事情,我已经做了我的本地它的工作很好,梅补充说,和jquey的工作很好,但我得到了错误的tableHeadFixer
declare var $: any;