angularjs2 ionic2 备忘

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 {}









猜你喜欢

转载自blog.csdn.net/zxcvqwer19900720/article/details/73991844