我是Angular 2的新手。最近我跟随一个youtube教程从头开始构建一个MEAN应用程序(它也在github中,在这里输入链接描述)。然后我尝试将其与引导管理模板集成(在这里输入链接描述)。
问题来了——当运行bootstrap管理模板项目本身时,没有问题。然后我将管理模板"client"文件夹复制到MEAN APP中,并使用npm install解决依赖关系。虽然我已经安装了所有依赖项,visual studio代码仍然报告[ts]在chart.component.ts中找不到名称'$'(在上面的bootstrap管理模板链接中,导航到/sdb - admin - bs4 - angular -2/src/client/app/dashboard/charts/chart.component.ts)(对不起,我不能发布超过2个链接)
var areaChart:任何= $ ("#面积图");
交叉引用回原来的工作管理模板,在typescript中,美元符号"$ "被解释为cssSelectorHelper。
然后我尝试声明以下内容:
声明var $: cssSelectorHelper;
然后报告[ts]无法找到名称'cssSelectorHelper'。这让我认为问题可能是由于cssSelectorHelper不被typescript识别。
谁能建议如何解决这个问题?这些我都是新手。如果以上解释不合理,也请帮忙澄清。
Angular 2是MVC
和MVVM
模式的框架,而JQuery
是有一点功能的。是的,我们可以在Angular 2中使用JQuery
,但大多数情况下他们不会这样做。然而,有些人有些人仍然觉得为每个元素编写指令或组件很复杂。
这里的问题是当你在html文件中使用script标签导入jquery
时,Angular 2编译器不知道这一点。因此,您必须以某种方式告诉编译器jquery
已被导入。有些人只是简单地包括declare var $: JQueryStatic
或类似的东西。但是对于jquery
和其他库,最标准的方法是使用typing安装明确类型的文件。
首先,您必须安装typings https://github.com/typings/typings,然后搜索您想要的库并安装其明确类型化的文件。
然后将/// <reference path="path_to_jquery/jquery.d.ts" />
包含在.ts
文件的顶部并完成一切!VSCode将为你支持智能感知和所有其他的东西!
$在前端开发中通常是指jQuery。您必须添加jQuery作为脚本标签,并将
declare var $: any;
在你的.ts
文件的顶部
请记住,混合使用Angular和jQuery是不被允许的,最佳实践是在Angular 2中实现你想要做的事情。