Typescript &引用;离子玻片;选项“;已经被弃用了;,现在怎么办?

Typescript &引用;离子玻片;选项“;已经被弃用了;,现在怎么办?,typescript,ionic2,ion-slides,Typescript,Ionic2,Ion Slides,我正在尝试实施,但找不到如何设置: ion幻灯片“选项”已被弃用。请改用ion幻灯片的输入属性 我可以找到“输入属性”(例如自动播放、速度、方向),但我不知道该放在哪里。我找到的每个示例都有[options]=“slideOptions”,其中slideOptions是设置,但除了不推荐的通知外,不会产生其他结果 我不熟悉ionic v2和typescript,我可能会得到一个黑客解决方案,但我想把它做好 离子内容中的HTML: <ion-slides [options]="slideO

我正在尝试实施,但找不到如何设置:

ion幻灯片“选项”已被弃用。请改用ion幻灯片的输入属性

我可以找到“输入属性”(例如自动播放、速度、方向),但我不知道该放在哪里。我找到的每个示例都有
[options]=“slideOptions”
,其中
slideOptions
是设置,但除了不推荐的通知外,不会产生其他结果

我不熟悉ionic v2和typescript,我可能会得到一个黑客解决方案,但我想把它做好


离子内容中的HTML:

<ion-slides [options]="slideOptions">
    <ion-slide *ngFor="let item of items">
        <img width="20%"src="{{item.thumb.source}}">
    </ion-slide>
</ion-slides>

以及简化课程: 从“离子角度”导入{Slides}

@Component({
  selector: 'page-example',
  templateUrl: 'example.html'
})

export class Example {
    public items: any;
    private slideOptions: any;

    @ViewChild(Slides) slides: Slides;

    constructor(private navCtrl: NavController, public navParams: NavParams) {
        this.items = [];
        this.albumInfo = navParams.get('item');

        this.getSlides();
    }

    // This does nothing:
    goToSlide() {
        this.slides.slideTo(2, 500);
    }
    // This  does nothing:
    ngAfterViewInit() {
        this.slides.autoplay = 2000;
    }


    // Simple example of getting the slides
    makeGetRequest():Promise<string> {      
        /* Get the items code, populates this.items
    }
}
@组件({
选择器:“页面示例”,
templateUrl:'example.html'
})
导出类示例{
公共物品:任何;
私人幻灯片选项:任何;
@ViewChild(幻灯片)幻灯片:幻灯片;
构造函数(专用navCtrl:NavController,公共navParams:navParams){
此参数为.items=[];
this.albumInfo=navParams.get('item');
这个.getSlides();
}
//这没有任何作用:
goToSlide(){
这个。幻灯片。幻灯片到(2500);
}
//这没有任何作用:
ngAfterViewInit(){
this.slides.autoplay=2000;
}
//获取幻灯片的简单示例
makeGetRequest():承诺{
/*获取项目代码,填充此。项目
}
}
输入属性仅表示在html中设置的属性,而输出事件则是html事件。 例如:

<ion-slides [autoplay]="num">
    <ion-slide *ngFor="let item of items">
        <img width="20%"src="{{item.thumb.source}}">
    </ion-slide>
</ion-slides>


其中,
num
在具有特定数值的组件中是可变的。

离子载玻片已更改。确保您已更新至最新的爱奥尼亚版本(2.0) 中列出的输入属性可以直接用于html。例如:

<ion-slides pager loop autoplay="2000">
 <ion-slide> ... </ion-slide>
</ion-slides>

在您的情况下,ngAfterViewInit不执行任何操作,因为您没有将html中的变量定义为

,我尝试了此操作,结果是“无法读取未定义的属性'hasAttribute'。我使用了我在我的主题中的代码,并在没有所有幻灯片代码的情况下尝试了它(因此只有html变体。两者都会导致此错误。我在您发布的帖子中找到了更多建议,但这些建议不再正常工作,在这条路上的某个地方出现了一个非常未记录的更改:)ionic已经破坏了RC5中幻灯片的更改。。也许所有这些bug都是从这里开始的..我已经实现了您的代码,并且得到了“无法读取未定义的属性'hasAttribute'。我可以更改所有设置(至少是我尝试过的设置),但不能设置自动播放。这就是我想要的。3.谢谢你的回复,我的手机坏了。。你更新了你的爱奥尼亚版本了吗?一切正常,只有autoplay没有。自动播放返回错误,其他设置正常工作。我使用的是最新版本2.1.4:),但它对我来说没有问题。你能用你最新的代码更新你的问题吗?它与主题非常相似。我发现这可能是因为init上没有幻灯片,所以我将
autoplay
移动到
makeGetRequest()承诺完成后设置。它不起作用,但也不再给出错误
<ion-slides #slides> 
   ...
</ion-slides>
 import { Component, ViewChild } from '@angular/core';
 import {Slides} from 'ionic-angular'

export class Example {
    @ViewChild(Slides) slides: Slides;
    constructor() {}
    ngAfterViewInit() {
        this.slides.autoplay = 2000;
        this.slides.autoplayDisableOnInteraction = false;
   }
}