javascript - 尝试在 Angular 5 中使用外部 Javascript 库

标签 javascript angular typescript slick.js

我知道有类似的问题,但我仍然无法让它工作..

所以我想用slick.js所以我下载了文件并将其放在我的 Angular 应用程序的 Assets 文件夹中

我导入了我的库

angular.cli.json

"styles": [
    "./assets/scripts/slick-1.8.0/slick.css",
    "./assets/scripts/slick-1.8.0/slick-theme.css"
],
"scripts": [
    //jQuery imports above
    "./assets/scripts/slick-1.8.0/slick.min.js"
]

然后在我的组件中...

import { Component, OnInit, Injector } from '@angular/core';
import { AppComponentBase } from '@shared/common/app-component-base';
import * as Slick from '../../../../assets/scripts/slick-1.8.0/slick/slick.min.js';
@Component({
    selector: 'app-di-type2',
    templateUrl: './di-type2.component.html',
    styleUrls: ['./di-type2.component.scss']
})

export class DiType2Component extends AppComponentBase implements OnInit {

   public constructor(
    injector: Injector
   ) {
     super(injector);
   }

   ngOnInit() {
      const slideContainer = document.querySelector('.slider');
      slideContainer.slick({
         autoplay: true,
         autoplaySpeed: 3500,
      });
   }

}

从我读到的关于将外部 javascript 库导入 Angular 应用程序的内容来看,这应该可行。我在 vscode 中收到一个错误,提示 [ts] Property 'slick' does not exist on type 'Element'.any

然后在我的控制台中我得到了

enter image description here

如有任何帮助,我们将不胜感激!

谢谢!

最佳答案

使用 Node 和 NPM 安装 Slick.js

https://nodejs.org/

npm install slick-carousel --save

https://www.npmjs.com/package/slick-carousel

安装此 npm 后,它将作为依赖项保存在 package.json 文件中。

然后导入 Slick:

import 'slick-carousel';

someElement.slick();

关于javascript - 尝试在 Angular 5 中使用外部 Javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531714/

相关文章:

javascript - 从 lQuery ajax 请求获取进度条的部分响应?

javascript - Jquery 在多选下拉列表中选择所有值

typescript - Jest (ESM) 在单元测试中从 React Native 加载文件时出现问题

reactjs - 具有 openApi 后端的模拟服务 worker

javascript - Sequelize : getting all passed data in create/update

javascript - 如何使用 jquery 更改元素类型

javascript - 无法删除所有子节点

angular - 关闭最后一个选项卡后重定向到注销链接

Angular 2+ 设置标准表单字段外观值

javascript - MEAN 应用程序 : Can't receive image on back end, 上传失败