diff --git a/ionic/components/slides/slides.ts b/ionic/components/slides/slides.ts index f9fa72db44..05c3a71917 100644 --- a/ionic/components/slides/slides.ts +++ b/ionic/components/slides/slides.ts @@ -1,4 +1,4 @@ -import {Directive, Component, ElementRef, Host, NgClass} from 'angular2/angular2'; +import {Directive, Component, ElementRef, Host, NgClass, EventEmitter} from 'angular2/angular2'; import {Ion} from '../ion'; import {Animation} from 'ionic/animations/animation'; @@ -40,6 +40,9 @@ import {Scroll} from '../scroll/scroll'; 'zoomDuration', 'zoomMax' ], + outputs: [ + 'slideChanged' + ], template: '
' + '
' + @@ -60,6 +63,8 @@ export class Slides extends Ion { this.rapidUpdate = util.debounce(() => { this.update(); }, 10); + + this.slideChanged = new EventEmitter('slideChanged'); } onInit() { if(!this.options) { @@ -100,6 +105,7 @@ export class Slides extends Ion { return this.options.onSlideChangeStart && this.options.onSlideChangeStart(swiper); }; options.onSlideChangeEnd = (swiper) => { + this.slideChanged.next(swiper); return this.options.onSlideChangeEnd && this.options.onSlideChangeEnd(swiper); }; options.onLazyImageLoad = (swiper, slide, img) => { diff --git a/ionic/components/slides/test/intro/index.ts b/ionic/components/slides/test/intro/index.ts index 65d0fd5d9f..b0fecbd367 100644 --- a/ionic/components/slides/test/intro/index.ts +++ b/ionic/components/slides/test/intro/index.ts @@ -4,4 +4,8 @@ import {App} from 'ionic/ionic'; @App({ templateUrl: 'main.html' }) -class MyApp {} +class MyApp { + onSlideChanged(slider) { + console.log('Slide chnaged', slider); + } +} diff --git a/ionic/components/slides/test/intro/main.html b/ionic/components/slides/test/intro/main.html index e57a770d70..ca31ab8695 100644 --- a/ionic/components/slides/test/intro/main.html +++ b/ionic/components/slides/test/intro/main.html @@ -42,7 +42,7 @@ Grid Icons - +

Thank you for choosing the Awesome App!