我知道有类似的问题,但我仍然无法让它发挥作用..
所以我想使用slick.js所以我下载了文件并将其放在我的角度应用程序的资源文件夹中
我已经在我的
中导入了这些库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库导入角度应用程序的内容这应该可行..我在vscode中收到错误[ts] Property 'slick' does not exist on type 'Element'.any
然后在我的控制台中获取
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:0)
您可以将库声明为var类型"任何" (假设它没有输入定义* .d.ts),如果在index.html中导入脚本,则在组件中导入后:
declare let <yourlib>: any;
答案 1 :(得分:0)
使用Node和NPM安装Slick.js
npm install slick-carousel --save
安装此npm后,它将作为依赖项保存在package.json文件中。
然后导入Slick:
import 'slick-carousel';
someElement.slick();