1 使用ionic cli新生成一个简单页面: home
ionic generate page home
ionic会自动生成一个home目录及页面组件
在生成的home.module.ts里添加exports后如下:
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { TranslateModule } from '@ngx-translate/core';
import { HomePage } from './home';
@NgModule({
declarations: [
HomePage,
],
imports: [
IonicPageModule.forChild(HomePage),
TranslateModule.forChild()
],
exports: [
HomePage
]
})
export class HomePageModule {}
2 在 app.component.ts里添加加入HomePage
import { Component, ViewChild } from '@angular/core';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { TranslateService } from '@ngx-translate/core';
import { Config, Nav, Platform } from 'ionic-angular';
import { FirstRunPage } from '../pages/pages';
import { Settings } from '../providers/providers';
@Component({
template: `<ion-menu [content]="content">
<ion-header>
<ion-toolbar>
<ion-title>Pages</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">
{{p.title}}
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav #content [root]="rootPage"></ion-nav>`
})
export class MyApp {
rootPage = FirstRunPage;
@ViewChild(Nav) nav: Nav;
pages: any[] = [
{ title: 'Tutorial', component: 'TutorialPage' },
{ title: 'Welcome', component: 'WelcomePage' },
{ title: 'Tabs', component: 'TabsPage' },
{ title: 'Cards', component: 'CardsPage' },
{ title: 'Content', component: 'ContentPage' },
{ title: 'Login', component: 'LoginPage' },
{ title: 'Signup', component: 'SignupPage' },
{ title: 'Master Detail', component: 'ListMasterPage' },
{ title: 'Menu', component: 'MenuPage' },
{ title: 'Settings', component: 'SettingsPage' },
{ title: 'Search', component: 'SearchPage' },
{ title: 'Home', component: 'HomePage' }
]
constructor(private translate: TranslateService, platform: Platform, settings: Settings, private config: Config, private statusBar: StatusBar, private splashScreen: SplashScreen) {
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.
this.statusBar.styleDefault();
this.splashScreen.hide();
});
this.initTranslate();
}
initTranslate() {
// Set the default language for translation strings, and the current language.
this.translate.setDefaultLang('en');
const browserLang = this.translate.getBrowserLang();
if (browserLang) {
if (browserLang === 'zh') {
const browserCultureLang = this.translate.getBrowserCultureLang();
if (browserCultureLang.match(/-CN|CHS|Hans/i)) {
this.translate.use('zh-cmn-Hans');
} else if (browserCultureLang.match(/-TW|CHT|Hant/i)) {
this.translate.use('zh-cmn-Hant');
}
} else {
this.translate.use(this.translate.getBrowserLang());
}
} else {
this.translate.use('en'); // Set your language here
}
this.translate.get(['BACK_BUTTON_TEXT']).subscribe(values => {
this.config.set('ios', 'backButtonText', values.BACK_BUTTON_TEXT);
});
}
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);
}
}
备注
如果按照上面方法添加后依然报错,可能需要关闭serv,重新执行ionic serve
2 ionic页面之间路由跳转
跳到目的页面,并传入参数
this.navCtrl.push('IpserachPage', {
tittle: "你好"
});
回退
this.navCtrl.pop()