在Typescript中为Zopim使用jQuery变量

时间:2018-02-06 14:13:55

标签: jquery angular typescript

我使用Angular 4和Zopim。在index.html中Zopim已加载 - 效果很好。如果我加载页面,我可以在Chrome控制台中编写

$zopim.livechat.getName()

然后获取当前用户的名称。但是,我想在Typescript文件中设置名称。

我的问题是,我不知道如何在不安装任何npm jQuery的情况下在Typescript中执行jQuery。我已阅读其他帖子,例如:Can TypeScript interact with jQuery without a definition file?建议使用

declare var $;

我已经尝试了这个但是得到了$ zopim未定义的错误。

是否可能,如果是的话 - 如何在Typescript中设置Zopim中的名称? Zopim API文档:

$zopim(function() {
 $zopim.livechat.setName('Logged in name');
 $zopim.livechat.setEmail('user@somewhere.com');
});

谢谢!

2 个答案:

答案 0 :(得分:1)

$是jQuery的别名,因此通过声明$,您可以使用jquery函数$(' test'),$ .fn。 ...

这里看起来你需要定义$ zopim

declare var $zopim : any;


onInit()
{
$zopim(function() {
 $zopim.livechat.setName('Logged in name');
 $zopim.livechat.setEmail('user@somewhere.com');
});
}

答案 1 :(得分:0)

运行npm install jquery --savescriptsstyles angular-cli.json中添加js / css文件,如

"scripts": ["../node_modules/path to file", "./assets/path to file"]

对于受支持的资料库@types/,只需运行npm install @types/jquery --save-dev

即可

要使用该库,请在注释declare var jQuery: any;declare var $zopim : any;之前添加@Directive @Component以使用lib