gpt4 book ai didi

javascript - 类型 'slick' 上不存在属性 'JQuery'

转载 作者:行者123 更新时间:2023-11-29 16:01:41 25 4
gpt4 key购买 nike

我有一个要使用的 Angular 6 项目 Slick Slider和。首先我安装了 jQuery

npm i jquery

然后是光滑的旋转木马

npm i slick-carousel

然后我对我的 angular.json 文件进行了必要的编辑

"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/font-awesome/css/font-awesome.css",
"node_modules/slick-carousel/slick/slick.css"

],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/slick-carousel/slick/slick.min.js"
]

然后我创建一个简单的 slider 布局

<div class="mySlider">
<div><h3>1</h3></div>
<div><h3>2</h3></div>
<div><h3>3</h3></div>
<div><h3>4</h3></div>
<div><h3>5</h3></div>
<div><h3>6</h3></div>
</div>

在我的 typescript 中,首先我从 jquery 导入 *。

import * as $ from 'jquery';

最后,我在 ngOnInit 中调用了 slick 方法

  ngOnInit() {
$(document).ready(function() {
$('.mySlider').slick({
infinite: true,
slidesToShow: 3,
slidesToScroll: 3
});
});
}

当我尝试编译时,出现以下错误消息:

ERROR in src/app/components/slider/slider.component.ts(20,22): error TS2551: Property 'slick' does not exist on type 'JQuery'. Did you mean 'click'?

所以我尝试在文件顶部将 slick 声明为变量。

declare var slick: any;

但这并没有帮助。所以我尝试像使用 jQuery 一样创建一个导入。

import * as slick from 'slick-carousel';

但这只会在尝试编译时给我以下错误消息:

ERROR in src/app/components/slider/slider.component.ts(3,24): error TS2306: File 'D:/developement/DDI World Front End/DDIWorld_frontEnd/node_modules/@types/slick-carousel/index.d.ts' is not a module.

我不确定还可以尝试什么或我做错了什么。谢谢你的帮助。

这是我的完整 slider.component.ts

import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';
// import * as slick from 'slick-carousel';
// declare var slick: any;



@Component({
selector: 'app-slider',
templateUrl: './slider.component.html',
styleUrls: ['./slider.component.css']
})
export class SliderComponent implements OnInit {



constructor() { }

ngOnInit() {
$(document).ready(function() {
$('.mySlider').slick({
infinite: true,
slidesToShow: 3,
slidesToScroll: 3
});
});
}

}

编辑

这是一个StackBlitz但我在那里遇到了不同的错误。

最佳答案

以这种方式导入 jQuery:

declare var $: any;

将代码改成这样:

(<any>$('.mySlider')).slick({
infinite: true,
slidesToShow: 3,
slidesToScroll: 3
});

关于javascript - 类型 'slick' 上不存在属性 'JQuery<HTMLElement>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52156625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com