Я пробовал Ionic 2
и застрял в чем-то. Я создал по умолчанию приложение для боковых меню из CLI и добавил slider
. Начиная с моего последнего слайда, при нажатии кнопки/или с привязки я хотел бы запустить свое приложение для бокового меню.
Мои приложения:
@Component({
templateUrl: 'build/app.html'
})
class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage: any = Slider;
pages: Array<{title: string, component: any}>
constructor(private platform: Platform) {
this.initializeApp();
// used for an example of ngFor and navigation
this.pages = [
{ title: 'Start', component: StartPage },
{ title: 'Farms', component: FarmList }
];
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
});
}
openPage(page) {
// Reset the content nav to have just this page
// we wouldn't want the back button to show in this scenario
this.nav.setRoot(page.component);
}
}
ionicBootstrap(MyApp);
Мой slider.ts:
@Component({
templateUrl: 'build/pages/slider/slider.html'
})
export class Slider {
mySlideOptions = {
initialSlide: 0,
loop: true,
pager: true
};
@ViewChild('mySlider') slider: Slides;
goToSlide() {
this.slider.slideTo(2, 500);
}
}
Мой slider.html:
<ion-slides #mySlider [options]="mySlideOptions">
<ion-slide>
<h1>Slide 1</h1>
</ion-slide>
<ion-slide>
<h1>Slide 2</h1>
</ion-slide>
<ion-slide>
<h1>Slide 3</h1>
<button>Start</button>
</ion-slide>
</ion-slides>
Поскольку это приложение по умолчанию, созданное из CLI, я вижу, оно не использует Angular2
маршрутизации Angular2
. Маршрутизация не нужна в Ionic2
, она обрабатывает ее по-своему?
Как я могу запустить свое приложение (например, "начать") с ползунка?
В вашем slider.html
<ion-slides #mySlider [options]="mySlideOptions">
<ion-slide>
<h1>Slide 1</h1>
</ion-slide>
<ion-slide>
<h1>Slide 2</h1>
</ion-slide>
<ion-slide>
<h1>Slide 3</h1>
<!-- Added the click event handler -->
<button (click)="goToHome()">Start</button>
</ion-slide>
</ion-slides>
И затем в вашем slider.ts
:
// Remember to import both the NavController and your StartPage
@Component({
templateUrl: 'build/pages/slider/slider.html'
})
export class Slider {
constructor(nav: NavController){
this.nav = nav;
}
mySlideOptions = {
initialSlide: 0,
loop: true,
pager: true
};
@ViewChild('mySlider') slider: Slides;
goToSlide() {
this.slider.slideTo(2, 500);
}
// Added the method to handle the click
goToHome(){
this.nav.setRoot(StartPage );
}
}
Добавив в ваше представление (click="goToHome()")
и добавив этот метод в свой component
, вы сможете запустить приложение, щелкнув эту кнопку со слайда.