我用的是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没有定义。
有没有可能,如果有,我如何在Zopim中设置Typescript中的名称?Zopim API文档:
$zopim(function() {
$zopim.livechat.setName('Logged in name');
$zopim.livechat.setEmail('user@somewhere.com');
});谢谢!
发布于 2018-02-06 22:25:53
$是测试的别名,因此通过声明$可以使用jQuery函数$(‘jquery’),$.fn。..。
这里看起来您需要定义$zopim
declare var $zopim : any;
onInit()
{
$zopim(function() {
$zopim.livechat.setName('Logged in name');
$zopim.livechat.setEmail('user@somewhere.com');
});
}发布于 2018-02-06 22:25:45
在scripts或angular-cli.json的styles中运行npm install jquery --save添加js/css文件,如
"scripts": ["../node_modules/path to file", "./assets/path to file"]对于库支持的@types/,只需运行npm install @types/jquery --save-dev
要使用库,请在要使用库的批注@Directive或@Component之前添加declare var jQuery: any; declare var $zopim : any;
https://stackoverflow.com/questions/48645056
复制相似问题