我已经按照angular-useful-swiper的github上的所有说明将这个模块添加到我的angular2项目中。 我正在使用angular-cli! 我通过npm将Module安装到我的node_modules
中我将SwiperModule添加到我的app.module.ts
中import { SwiperModule } from '../../node_modules/angular2-useful-swiper/lib/swiper.module';
当然
.......
imports: [
BrowserModule,
FormsModule,
HttpModule,
routing,
SwiperModule
],
......
我为swiper
创建了一个组件import { Component, OnInit } from '@angular/core';
declare var Swiper: any;
@Component({
selector: 'app-swiper',
templateUrl: './swiper.component.html',
styleUrls: ['./swiper.component.css']
})
export class SwiperComponent implements OnInit {
config: Object = {
pagination: '.swiper-pagination',
paginationClickable: true,
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',
spaceBetween: 30
};
constructor() { }
ngOnInit() {
}
}
该组件的HTML:
<swiper [config]="config">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
<div class="swiper-slide">Slide 10</div>
</div>
<!-- Add Pagination -->
<div class="swiper-pagination"></div>
<!-- Add Arrows -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</swiper>
如果我调用swiper组件,则会出现以下错误。
error_handler.js:54 EXCEPTION:未捕获(在承诺中):错误:错误 ./SwiperComponent类SwiperComponent - 内联模板:0:0引起 by:Swiper未定义错误:./SwiperComponent类中的错误 SwiperComponent - 内联模板:0:0引起:Swiper未定义 在ViewWrappedError.ZoneAwareError (http://localhost:4200/polyfills.bundle.js:7204:33)at ViewWrappedError.BaseError [作为构造函数] (http://localhost:4200/vendor.bundle.js:30450:16)at ViewWrappedError.WrappedError [作为构造函数] (http://localhost:4200/vendor.bundle.js:30515:16)新的 ViewWrappedError(http://localhost:4200/vendor.bundle.js:61293:16)at CompiledTemplate.proxyViewClass.DebugAppView.rethrowWithContext (http://localhost:4200/vendor.bundle.js:83384:23)at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges (http://localhost:4200/vendor.bundle.js:83357:18)at CompiledTemplate.proxyViewClass.AppView.internalDetectChanges (http://localhost:4200/vendor.bundle.js:83144:18)at CompiledTemplate.proxyViewClass.View_HomeComponent0.detectChangesInternal (/AppModule/HomeComponent/component.ngfactory.js:204:20)at CompiledTemplate.proxyViewClass.AppView.detectChanges (http://localhost:4200/vendor.bundle.js:83159:14)at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges (http://localhost:4200/vendor.bundle.js:83354:44)at CompiledTemplate.proxyViewClass.AppView.internalDetectChanges (http://localhost:4200/vendor.bundle.js:83144:18)at CompiledTemplate.proxyViewClass.View_HomeComponent_Host0.detectChangesInternal (/AppModule/HomeComponent/host.ngfactory.js:29:19)at CompiledTemplate.proxyViewClass.AppView.detectChanges (http://localhost:4200/vendor.bundle.js:83159:14)at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges (http://localhost:4200/vendor.bundle.js:83354:44)at ViewRef.detectChanges (http://localhost:4200/vendor.bundle.js:62220:20)
对我来说没有任何意义,因为我已经在app.module.ts中添加了swiper模块。
我正在使用angular-cli来编译应用
这里有一些可以给我一个提示吗?
模块位于我的node_modules中,在安装时导入模块时没有错误。 我没有在我的opionon中的index.html中注册swiper.js,因为我通过npm添加了模块并在app.module.ts中添加了模块。如果我错了,如果有人能帮助我,我会很高兴。
答案 0 :(得分:3)
将以下内容添加到我的index.html
文件中为我解决了
<link href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/css/swiper.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/js/swiper.js"></script>
答案 1 :(得分:0)
app.module.ts
:
...
import { SwiperModule } from 'angular2-useful-swiper';
...
@NgModule({
imports: [
...
SwiperModule
],
...
})
export class AppModule {}
swiper.component.ts
文件:
import { Component } from '@angular/core';
import { SwiperComponent } from 'angular2-useful-swiper';
@Component({
selector: 'app-swiper',
templateUrl: './swiper.component.html',
styleUrls: ['./swiper.component.css']
})
export class SwiperComponent {
public images: Array<string> = [
'https://picsum.photos/700/250/?image=10',
'https://picsum.photos/700/250/?image=11',
'https://picsum.photos/700/250/?image=12',
'https://picsum.photos/700/250/?image=13',
'https://picsum.photos/700/250/?image=14'
];
public config: Object = {
loop: true,
paginationClickable: true,
pagination: '.swiper-pagination',
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',
spaceBetween: 16,
zoom: true,
};
@ViewChild('usefulSwiper') public usefulSwiper: SwiperComponent;
}
swiper.component.html
文件:
<section class="swiper-container">
<swiper class="swiper" [config]="config">
<div class="swiper-wrapper">
<div *ngFor="let image of images" class="swiper-slide">
<img [src]="image" alt="image">
</div>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</swiper>
</section>