1. ionic g page 的问题
ionic cli 更新到3.0之后,原来生成page的方式换掉了,将每一个页面声明为独立的module,因此支持通过url地址直接跳转指定的页面。使用NavController 进行页面跳转的时候,已经无需再引入具体的page,直接使用 this.nav.push("page-name") 进行跳转即可。
2. ionic2 中使用 pipe的问题
由于page的声明变成module,因此会导致 angular2中声明的pipe的方式在 ionic2 中不能完全工作。因为angular2 中创建pipe之后,在 app.module 里面声明一下,全局可用,但是 ionic2 的每个page都是独立的module,要在page中直接使用pipe就不可行了,而且不能在 page.module 中再去import 那个pipe, 会报 pipe 再不同模块中引用的错误,因此,我们可以将 pipe 整个声明为一个 module,在需要pipe的地方,将整个 module 引入。
pipe.module的声明
import { NgModule } from '@angular/core';
import { ApplicationTypePipe } from './application-type/application-type';
@NgModule({
imports: [],
declarations: [ApplicationTypePipe],
exports: [ApplicationTypePipe],
})
export class PipesModule {
static forRoot() {
return {
ngModule: PipesModule,
providers: [],
};
}
}
具体的pipe实现不贴出了,就是 angular2 的实现方式
需要引用 pipe的地方
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ApplicationDetailPage } from './application-detail';
import {PipesModule} from '../../pipes/pipes.module'
@NgModule({
declarations: [
ApplicationDetailPage
],
imports: [
IonicPageModule.forChild(ApplicationDetailPage),
PipesModule.forRoot()
],
exports: [
ApplicationDetailPage
]
})
export class ApplicationDetailPageModule {}