【问题标题】:Angular2.0.0 pipe '' could not be found找不到Angular2.0.0管道''
【发布时间】:2017-03-13 11:43:40
【问题描述】:

错误:

错误:模板解析错误:管道 'datefromiso' 不能 找到了

管道:

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

    @Pipe({
        name: 'datefromiso'
    })
    export class DateFromISO implements PipeTransform {
        transform(value: any, args: string[]): string {
            if (value) {
                var date = value instanceof Date ? value : new Date(value);
                return date.getDate() + '/' + (date.getMonth()+1) + '/' + (date.getYear()+1900);
            }
        }
    }

应用模块:

import { DateFromISO } from './pipes/date-from-iso';
...
@NgModule({
  bootstrap: [ App ],
  declarations: [
    App,
    ErrorComponent,
    DateFromISO
  ]

HTML:

<div class="pull-right">{{entity.ts | datefromiso}}</div>

entity.ts 是 ISO 字符串。怎么了? 还有一个问题:是否有更好的方法可以使用angular2将ISO字符串转换为html中的语言环境日期? 提前致谢。

【问题讨论】:

  • HTML 是在AppErrorComponent 还是另一个模块中的某个组件?
  • 组件在另一个模块中,所以我需要在那个模块中声明它?

标签: javascript angular typescript


【解决方案1】:

您需要将包含DateFromISO 的模块添加到您使用它的每个模块的imports

因此建议创建一个包含管道以及其他可重用指令和组件的功能模块,然后将此模块添加到所有应该可用的模块中的imports

管道和其他可重用的组件和指令需要添加到此功能模块中的declarationsexports

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2016-12-24
    • 2017-09-04
    • 2017-11-29
    • 2017-11-10
    相关资源
    最近更新 更多