mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-21 04:53:58 +08:00
Feature/observable ext (#6670)
* refactor(nav-controller): refactor to better support dynamic component loading
This commit is contained in:
@ -68,8 +68,53 @@ class E2EPage {
|
||||
animation: 'my-fade-in'
|
||||
});
|
||||
}
|
||||
|
||||
presentNavigableModal(){
|
||||
let modal = Modal.create(NavigableModal);
|
||||
this.nav.present(modal);
|
||||
//this.nav.push(NavigableModal);
|
||||
}
|
||||
}
|
||||
|
||||
@Page({
|
||||
template: `
|
||||
<ion-navbar *navbar>
|
||||
<ion-title>Page One</ion-title>
|
||||
</ion-navbar>
|
||||
<ion-content>
|
||||
<button full (click)="submit()">Submit</button>
|
||||
</ion-content>
|
||||
`
|
||||
})
|
||||
class NavigableModal{
|
||||
constructor(private navController:NavController){
|
||||
}
|
||||
|
||||
submit(){
|
||||
this.navController.push(NavigableModal2);
|
||||
}
|
||||
}
|
||||
|
||||
@Page({
|
||||
template: `
|
||||
<ion-navbar *navbar>
|
||||
<ion-title>Page Two</ion-title>
|
||||
</ion-navbar>
|
||||
<ion-content>
|
||||
<button full (click)="submit()">Submit</button>
|
||||
</ion-content>
|
||||
`
|
||||
})
|
||||
class NavigableModal2{
|
||||
constructor(private navController:NavController){
|
||||
}
|
||||
|
||||
submit(){
|
||||
this.navController.pop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Page({
|
||||
template: `
|
||||
@ -105,6 +150,10 @@ class ModalPassData {
|
||||
this.viewCtrl.dismiss(this.data);
|
||||
}
|
||||
|
||||
onPageLoaded(){
|
||||
console.log("ModalPassData onPageLoaded fired");
|
||||
}
|
||||
|
||||
onPageWillEnter(){
|
||||
console.log("ModalPassData onPagewillEnter fired");
|
||||
}
|
||||
@ -280,15 +329,26 @@ class ModalFirstPage {
|
||||
push() {
|
||||
let page = ModalSecondPage;
|
||||
let params = { id: 8675309, myData: [1,2,3,4] };
|
||||
let opts = { animation: 'ios-transition' };
|
||||
|
||||
this.nav.push(page, params, opts);
|
||||
this.nav.push(page, params);
|
||||
}
|
||||
|
||||
dismiss() {
|
||||
this.nav.rootNav.pop();
|
||||
}
|
||||
|
||||
onPageLoaded(){
|
||||
console.log("ModalFirstPage OnPageLoaded fired");
|
||||
}
|
||||
|
||||
onPageWillEnter(){
|
||||
console.log("ModalFirstPage onPageWillEnter fired");
|
||||
}
|
||||
|
||||
onPageDidEnter(){
|
||||
console.log("ModalFirstPage onPageDidEnter fired");
|
||||
}
|
||||
|
||||
openActionSheet() {
|
||||
let actionSheet = ActionSheet.create({
|
||||
buttons: [
|
||||
@ -352,12 +412,21 @@ class ModalFirstPage {
|
||||
`
|
||||
})
|
||||
class ModalSecondPage {
|
||||
constructor(
|
||||
private nav: NavController,
|
||||
params: NavParams
|
||||
) {
|
||||
constructor(private nav: NavController, params: NavParams) {
|
||||
console.log('Second page params:', params);
|
||||
}
|
||||
|
||||
onPageLoaded(){
|
||||
console.log("ModalSecondPage onPageLoaded");
|
||||
}
|
||||
|
||||
onPageWillEnter(){
|
||||
console.log("ModalSecondPage onPageWillEnter");
|
||||
}
|
||||
|
||||
onPageDidEnter(){
|
||||
console.log("ModalSecondPage onPageDidEnter");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -398,4 +467,4 @@ class FadeOut extends Transition {
|
||||
.before.addClass('show-page');
|
||||
}
|
||||
}
|
||||
Transition.register('my-fade-out', FadeOut);
|
||||
Transition.register('my-fade-out', FadeOut);
|
Reference in New Issue
Block a user