离子3:管道'找不到 [英] Ionic 3: The pipe '' could not be found

查看:77
本文介绍了离子3:管道'找不到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

关于这个问题,我似乎没有任何错误.我已经导入了app.module.ts并将其放在声明"中.

I can't seem any error regarding this problem. I already import in app.module.ts and put it in 'declaration'.

在app.module.ts

in app.module.ts

import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';

//ionic-native
import { NativeStorage } from '@ionic-native/native-storage';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';

//pipe
import { HoursMinutesSecondsPipe } from '../pipes/hours-minutes-
seconds/hours-minutes-seconds';

@NgModule({
declarations: [
MyApp,
HoursMinutesSecondsPipe
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
  platforms: {
    android: {
      tabsPlacement: 'top'
    }
  }
}),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
NativeStorage,
]
})
export class AppModule {}

用法:

    <ion-card class="card-container" (click)="onTimer()">
      <img src="assets/imgs/wp1.png"/>
      <div class="card-title">Time Smoke Free</div>
      <div class="card-subtitle">{{ seconds | hoursMinutesSeconds }}</div>
    </ion-card>

以小时-分钟-秒为单位

in hours-minutes-seconds.ts

    import { Pipe, PipeTransform } from '@angular/core';

    @Pipe({
      name: 'hoursMinutesSeconds',
    })

    export class HoursMinutesSecondsPipe implements PipeTransform {

      transform(value, args?) {

        let minutes = Math.floor(value / 60);
        let hours = Math.floor(minutes / 60);
        let seconds = Math.floor(value % 60);

        let timeString = hours + 'hrs ' + minutes + 'mins ' + seconds + 'secs';

        return timeString;

      }
    }

错误:未捕获(承诺):错误:模板解析错误:找不到管道'hoursMinutesSeconds'("imgs/wp1.png"/>时间无烟{{[ERROR->]秒|hoursMinutesSeconds}}

Error: Uncaught (in promise): Error: Template parse errors: The pipe 'hoursMinutesSeconds' could not be found ("imgs/wp1.png"/> Time Smoke Free {{ [ERROR ->]seconds | hoursMinutesSeconds }}

推荐答案

使用此CLI创建 pipe 时, ionic生成管道HoursMinutesSeconds 将创建一个共享模块称为 pipes.module.ts .因此,您需要在页面的模块文件中 import PipesModule 模块.

When you create a pipe using this CLI ionic generate pipe HoursMinutesSeconds it'll create a shared module called pipes.module.ts. So you need to import PipesModule module inside your page's module file.

让我们以为该页面是 my-view 然后;

Let's think that page is my-view then;

my-view.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { MyViewPage } from './my-view';
import { PipesModule } from '../../pipes/pipes.module';//<--- here

@NgModule({
  declarations: [
    MyViewPage,
  ],
  imports: [
    IonicPageModule.forChild(BudgetGroupViewPage),
    PipesModule // <--- here
  ],
})
export class MyViewPageModule { } 

这篇关于离子3:管道&amp;#39;找不到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆