[更新] ここにあるAngular 2カルーセルで作業します:
https://embed.plnkr.co/ScE0uqfd0ZvL6T9j1XjL/
トランジション効果を追加したい。
carousel-example ts にプロパティを追加しました
<carousel [interval]="NextPhotoInterval" [noWrap]="noLoopSlides" [noTransition]="noTrans">
carousel-example.ts 内で非公開として宣言した noTrans プロパティ noTrans:boolean = false;
noTransition はカルーセルコンポーネント内にあります
@Input() public noTransition:boolean;
(デフォルトでは noTrans は false であり、ドキュメントでは遷移を有効にする必要があります)。
これは何もしませんでした。遷移は見られません。誰かが私が間違っている場所を知っていますか?
ありがとう!
最後に、ブートストラップを使用して一般的なカルーセルを実装したので、誰かがそれを使用したい場合に役立つように、その方法を投稿します。
component.html:
<div id="carousel-generic" class="carousel slide" data-ride="carousel" *ngIf="newsData">
<ol class="carousel-indicators" [hidden]="newsData.length <=1">
<li data-target="#carousel-generic" *ngFor="let news of newsData; let i= index" attr.data-slide-to="{{i}}" [ngClass]="{active: isActive(news)}"></li>
</ol>
<div class="carousel-inner news-loading" role="listbox">
<div *ngFor="let news of newsData;" class="item" [ngClass]="{active: isActive(news)}">
<h4 class="center">{{news.Title}}</h4>
<img class="img-responsive" [src]="news.ImageUrl">
<div class="news">
<p><a target="_blank" href="{{news?.DetailsUrl}}">{{news.Text}}</a></p>
</div>
</div>
<a class="left carousel-control" href="#carousel-generic" role="button" data-slide="prev" [hidden]="!newsData.length">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-generic" role="button" data-slide="next" [hidden]="!newsData.length">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
component.ts:
@Component({
selector: 'my-component',
templateUrl: 'app/components/component.html'
})
export class NewsComponent implements OnInit{
private newsData: NewsDataModel[];
constructor(private _service: MyService) {}
private isActive(news:any){
return news === this._service.newsData[0];
}
ngOnInit() {
this.newsData = this._service.newsData;
}
}
*サービスでsubscribe()しました