我是Angular 2的新手。最近我按照youtube教程从头开始构建一个MEAN应用程序(它也在github中,enter link description here)。然后我尝试将其与引导管理模板(enter link description here)集成。
问题出现了 - 在运行bootstrap管理模板项目时,没有问题。然后我复制管理模板&#34;客户端&#34;文件夹到MEAN APP并使用npm install解决依赖关系。虽然我已经安装了所有依赖项,但Visual Studio代码仍然报告 [ts]在chart.component.ts中找不到名称&#39; <&#39; (在上面的bootstrap管理模板链接中) ,导航到/SB-Admin-BS4-Angular-2/src/client/app/dashboard/charts/chart.component.ts)(抱歉,我不能发布2个以上的链接)
var areaChart:any = $ (&#39;#area-chart&#39;);
交叉引用回原始工作管理模板,dollarign&#34; $&#34;被解释为typescript中的cssSelectorHelper。
然后我试图宣布以下内容:
声明var $:cssSelectorHelper ;
然后报告 [ts]无法找到姓名&cssSelectorHelper&#39; 。这让我觉得问题可能是由于打字稿无法识别cssSelectorHelper。
任何人都可以建议如何解决这个问题? (我是所有这些的新手。如果上述解释没有意义,请帮助澄清。)
提前致谢。
答案 0 :(得分:0)
$通常用于jQuery。您必须将jQuery添加为脚本标记并放入
declare var $: any;
位于.ts
文件的顶部。
请记住,混合Angular和jQuery是不赞成的,最好的做法是实现你在Angular 2本身尝试做的事情。
答案 1 :(得分:0)
Angular 2是MVC
和MVVM
模式的框架,而JQuery
有点功能。是的,使用可以在Angular 2中使用JQuery
,但大多数情况下他们不会。然而,有些人仍然发现在为每个元素编写指令或组件时会很复杂。
这里的问题是当您使用脚本标记在html文件中导入jquery
时,Angular 2编译器并不知道。因此,您必须以某种方式告诉编译器已导入jquery
。有些人只是简单地包含declare var $: JQueryStatic
或类似的东西。但是对jquery
和其他库执行此操作的最标准方法是安装明确键入的文件使用类型。
首先,您必须安装typings https://github.com/typings/typings,然后搜索您想要的库并安装其明确类型的文件。
然后只需在/// <reference path="path_to_jquery/jquery.d.ts" />
文件的顶部添加.ts
即可完成所有操作! VSCode将支持intellisense和所有其他东西给你!