我正在使用 Angular 1 应用程序在 Angular 4 应用程序中运行的混合 Angular 应用程序。所有新组件都在 Angular 4 中开发。但是,由于我们在 Angular 1 中有大量遗留代码,我想在 Angular 4 组件中重用一些 Angularjs 过滤器。我们有大量过滤器来处理国际化(日期格式、数字格式、语言等与用户个人资料偏好)。
有没有办法将 Angularjs 过滤器升级为 Angular 4 管道并在 Angular 4 html 模板中重用它们?
我正在使用 Angular 1 应用程序在 Angular 4 应用程序中运行的混合 Angular 应用程序。所有新组件都在 Angular 4 中开发。但是,由于我们在 Angular 1 中有大量遗留代码,我想在 Angular 4 组件中重用一些 Angularjs 过滤器。我们有大量过滤器来处理国际化(日期格式、数字格式、语言等与用户个人资料偏好)。
有没有办法将 Angularjs 过滤器升级为 Angular 4 管道并在 Angular 4 html 模板中重用它们?
根据官方 Angular 升级指南(参见https://angular.io/guide/upgrade#add-the-checkmarkpipe),没有现成的支持将 NG1 过滤器升级到 NG2+ 管道。您必须自己编写管道,但在大多数情况下,这并不复杂。
请注意,Angular 中有一些内置的国际化 (i18n) 管道(日期、数字、货币、百分比),并且在 Angular5 中,它们被完全重写(参见https://blog.ninja-squad.com/2017/ 11/02/what-is-new-angular-5/),导致一些重大变化。