gpt4 book ai didi

ionic-framework - 不可能使用 ionic 载玻片方法(ChangeDetectorRef 没有提供者)

转载 作者:行者123 更新时间:2023-12-04 07:11:27 27 4
gpt4 key购买 nike

我想使用 ion-slides 方法 getActiveIndex() 但是当我将 ion-slides 作为提供程序导入时,出现此错误:

NullInjectorError:没有 ChangeDetectorRef 的提供者!

我不知道为什么我必须将它添加到提供者中。即使我添加了这个,我还有另一个提供者:ElementRef...

如果你看看我的代码,你能告诉我我做错了什么吗?

谢谢!

liste.page.ts :

import {IonSlides} from '@ionic/angular';

@Component({
selector: 'app-liste',
templateUrl: './liste.page.html',
styleUrls: ['./liste.page.scss'],
})

export class ListePage {

constructor(private ionSlides: IonSlides) { }

slideChanged() {
console.log(this.ionSlides.getActiveIndex());
}

}

liste.page.html:
<ion-slides [options]="sliderConfig" (ionSlideTransitionEnd)="slideChanged()">
<ion-slide *ngFor="let item of items; let i = index">
{{item.name}}
</ion-slide>
</ion-slides

ionic 信息:
ionic (Ionic CLI)             : 4.9.0 
Ionic Framework : @ionic/angular 4.1.2
@angular-devkit/build-angular : 0.13.6
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.3.6
@ionic/angular-toolkit : 1.4.1

最佳答案

在您的 liste.page.html 用:

<ion-slides pager="true" #slides>

然后你可以在你的 中引用它liste.page.ts 文件:
import {IonSlides} from '@ionic/angular';
import {ViewChild} from '@angular/core'; // <----

[...]

export class ListePage {
@ViewChild('slides', { read: IonSlides }) slides: IonSlides; // <----

然后您可以访问幻灯片并可以调用 getActiveIndex();
slideChanged() {
console.log(this.slides.getActiveIndex());
}

关于ionic-framework - 不可能使用 ionic 载玻片方法(ChangeDetectorRef 没有提供者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55830389/

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