【问题标题】:How to use javascript libraries in Angular 2 Project如何在 Angular 2 项目中使用 javascript 库
【发布时间】:2017-07-28 07:47:36
【问题描述】:

我有一个库,它有这样的函数结构..

$.fn.et_menu = function ( options ) {
var settings = $.extend({
type: "default", // can be columns, default, mega, combined
animTime: 250,
openByClick: true,
delayTime: 0
}, options );

应该这样称呼

$('.menu.side-menu').et_menu({
type: "default",
delayTime: 0
});

任何帮助..如何将其集成到 Angular..

我已将库包含在我的 index.html 文件中,并且 做了

declare var et_menu: any;

在我的 component.ts 文件中..

任何帮助都会非常感激。

【问题讨论】:

  • 您是否将javascript文件添加到src/assets
  • 您已将库包含在您的 index.html 文件中...并且?发生了什么?运行时应该如何知道 et_menu 是对象 $ 的对象 fn 的某些属性?你试过 window["$"].fn.et_menu 吗?
  • 哪个版本的 Angular?
  • 它的角度 2,我已经使 jquery 可用,但不知道如何调用函数 $('.menu.side-menu').et_menu({ type: "default", delayTime: 0 }) ;它说“JQuery”类型上不存在属性“et_menu”。

标签: javascript angular typescript angular2-template


【解决方案1】:

第一步

npm install jssha --save [using jssha for this demo]

这是你自己的自定义文件,将它放在 angular-cli.json 的脚本数组中跳过这一步 1

第二步

Add the jssha scripts file in .angular-cli.json file
"scripts": [ "../node_modules/jssha/src/sha.js" ]

第三步 在组件中添加一个 var 以用作全局变量

//using external js modules in Angular Component
declare var jsSHA: any; // place this above the component decorator
shaObj:any;
hash:string;
this.shaObj = new jsSHA("SHA-512", "TEXT");
this.shaObj.update("This is a Test");
this.hash = this.shaObj.getHash("HEX")

看看@这个link。它有一个工作示例和一个关于打字和没有打字的相同问题。

【讨论】:

  • 谢谢你,但我已经非常仔细地调查过了......我猜这有点不同......
  • 有什么不同请告诉我可以帮忙
  • 我猜你需要添加两个变量,一个用于 jquery,另一个用于 et 然后它将起作用
  • $('.menu.side-menu').et_menu({ type: "default", delayTime: 0 });
  • 在正常页面的情况下,我们会执行类似.. $('.menu.side-menu').et_menu({ type: "default", delayTime: 0 });
猜你喜欢
  • 1970-01-01
  • 2017-08-27
  • 2018-04-28
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 2022-10-23
  • 2017-04-28
  • 1970-01-01
相关资源
最近更新 更多