Angular 2.0 发布:管道和指令不再是 @Component 的属性

Posted

技术标签:

【中文标题】Angular 2.0 发布:管道和指令不再是 @Component 的属性【英文标题】:Angular 2.0 Release: Pipes and Directives are not properties of @Component anymore 【发布时间】:2017-01-25 03:09:01 【问题描述】:

我刚刚将我在 RC5 上构建的应用升级到最终版本,我对现在应该声明指令和管道的方式感到困惑。我收到此错误:

[默认] C:\xampp\htdocs\meriem-car\public\src\app\components\administration.component.ts:12:4 中的错误 ' moduleId: string; 类型的参数选择器:字符串;指令:typeof LoginComponent[];模板网址:字符串; ' 不可分配给“组件”类型的参数。 对象字面量只能指定已知属性,而“组件”类型中不存在“指令”。

【问题讨论】:

【参考方案1】:

自 RC6 起,所有指令和管道都应移至模块的 declarations

@NgModule(
    imports: [...],
    declarations: [
        //you insert your Components, Directives and Pipes here
    ],
    bootstrap: [...],
    providers: [...]
)

export class AppModule  

【讨论】:

@ESturzenegger 您是否从组件中删除了directives sry 删除我的问题:“即使将其添加到声明中,它也会显示相同的错误”@StefanSvrkota 是的,我做到了。有趣的是:管道有效,但错误显示在我的 cli 中。 @ESturzenegger 好吧,我真的不知道,请尝试重新启动/刷新您的项目。真的很奇怪。 @StefanSvrkota 根据文档是管道属性不存在:angular.io/docs/ts/latest/api/core/index/…

以上是关于Angular 2.0 发布:管道和指令不再是 @Component 的属性的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务和指令脚本文件中使用angular2内置日期管道[重复]

combineLatest 重构 @deprecated — 不再支持 resultSelector,而是使用管道映射?

如何在 Angular 2.0 中进行 JWT 授权

Angular服务管道表单校验

Angular 9即将发布:改进Ivy编译和渲染管道

Angular - 在服务和组件中使用管道