【问题标题】:Object literal may only specify known properties, and 'pipes' does not exist in type 'Component'对象字面量只能指定已知属性,并且“组件”类型中不存在“管道”
【发布时间】:2017-08-10 23:48:31
【问题描述】:

我正在尝试在 Angular 2 中创建一个自定义管道。当我尝试运行它时,我收到一条错误消息:

对象字面量只能指定已知属性,并且 “组件”类型中不存在“管道”

然后我google了一下,发现我应该使用declarations: [ mypipe]而不是pipes: [mypipe],但我又遇到了类似的错误:

对象字面量只能指定已知属性,并且 “组件”类型中不存在“声明”

谁能解释一下?

编辑:

我刚刚删除了管道/声明行,它没有任何错误。

【问题讨论】:

    标签: angular angularjs-directive pipe


    【解决方案1】:

    您不仅应该在声明中使用管道,还应该在模块的导出部分中使用管道

    exports: [ mypipe]
    

    它的意思是组件中没有声明部分。

    阅读Pipes Guide

    注意以下几点:

    • 您可以像使用内置管道一样使用自定义管道。
    • 您必须将管道包含在AppModuledeclarations 数组中。

    记住声明数组

    您必须手动注册自定义管道。如果你不这样做,Angular 会报告 一个错误。在前面的示例中,您没有列出 DatePipe 因为所有 Angular 内置管道都是预先注册的。

    【讨论】:

    • 你能给我解释一下吗?我使用 CLI 创建了管道,然后在 export class... 中创建了自定义管道代码。然后在组件中我导入了管道。 ...就是这样。
    • dudeeee... 完全正确!这就是为什么我要你解释这个......因为当我按照文档应该做的所有事情时,我得到了一个错误。但是当我删除它时,它可以正常工作......
    • 不,如果你这样做了,你就没有得到错误。如果您发布一个 plunker,我可以查看它并说出它有什么问题。
    • 大声笑,伙计...你为什么说它不是,而它是?! :D 我在没有任何错误的情况下运行它...并且我的自定义管道正在工作。 Perhpas angular2 以某种方式更新了它,我不能肯定地说,但这很好用。很高兴知道为什么,如果有人得到这个 - 请分享
    猜你喜欢
    • 2021-02-18
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 2018-09-06
    相关资源
    最近更新 更多