在自定义组件中找不到管道 - Ionic 3(延迟加载)

迈克_t

在我的 ionic 3 项目中,我将管道包裹在 pipe.module.ts 中,并将其导入到 @NgModule 中以用于所有延迟加载的页面 - 工作正常,没有问题。

但是在我的自定义组件中使用相同的方法,在组件模板中使用管道会导致错误:

 Error: Template parse errors: The pipe 'min2duration' could not be found

我也尝试在我的组件的 .module.ts 中单独导入管道,但仍然是同样的问题。我让它工作的唯一方法是在我的组件 .ts 文件中导入管道,将它包装在一个函数中,然后我们像这样使用这个函数:

import { Min2duration  } from '../../pipes/dates/min2duration';
...

@Component({ ... })
class CustomComponent {
  constructor(){ ... }

  min2duration(val){
    var m2d = new Min2duration();
    return m2d.transform(val)
  }
}

并在模板中

<span>{{ min2duration(duration) }}</span>

这种方式可以工作,但感觉不是一个合适的解决方案,尤其是当我在我的项目中使用更多管道和更多自定义组件时。

有没有办法让管道也像这样在自定义组件的模板中工作?

<span> {{ duration | min2duration }}</span>

编辑:

管道模块.ts

import { NgModule } from '@angular/core';

// Pipes
import { DayMonth } from './dates/day-month'
import { Weekday  } from './dates/weekday';
import { Min2duration  } from './dates/min2duration';
import { HighlightPipe } from './highlight/highlight';

@NgModule({
  declarations: [
    DayMonth,
    Weekday,
    HighlightPipe,
    Min2duration
  ],
  imports: [ ],
  exports: [
    DayMonth,Weekday,HighlightPipe,Min2duration 
  ]
})
export class PipesModule {}
本雅明·考斯库纳

确保在声明自定义组件的自定义 NgModule 中导入了 pipe.module 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章