我使用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');
});
谢谢!
答案 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 --save
在scripts
或styles
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