End*_*ani 8 migration angular angular9
我最近使用官方 Angular 站点提供的本指南将我的 angular 应用程序从 V8 更新到 V9 。我按照指南中的所有步骤操作,应用程序已成功更新,但现在当我尝试构建时,我收到大量与管道指令甚至我在模板中使用的组件相关的错误。
这是管道错误的一个示例:
无法在 NgModule 中声明“TimeAgoPipe”,因为它不是当前编译的一部分。
指令错误的另一个例子:
无法绑定到“ngModel”,因为它不是“input”的已知属性
这段代码在 Angular 8 上运行良好:
<input required name="password" class="form-control mr-sm-2" type="password" placeholder="Password" [(ngModel)]="model.password"/>
Run Code Online (Sandbox Code Playgroud)
它甚至无法找到我创建的组件,即使它们已在app.module.ts文件中声明。它给了我这个错误:
'app-nav' 不是已知元素:
如果 'app-nav' 是一个 Angular 组件,那么验证它是否是这个模块的一部分。
如果“app-nav”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以抑制此消息。
这是我的app.module.ts文件,其中包含未找到的所有内容:
<input required name="password" class="form-control mr-sm-2" type="password" placeholder="Password" [(ngModel)]="model.password"/>
Run Code Online (Sandbox Code Playgroud)
Instinct 和https://github.com/AndrewPoyntz/time-ago-pipe/issues/33建议的解决方案有效。你必须记住在 angular.json 上禁用 AOT 编译
Ins*_*nct 10
看起来这个模块没有针对 Angular 9 更新。我在这里找到了一个解决方法
https://github.com/AndrewPoyntz/time-ago-pipe/issues/33
import { TimeAgoPipe } from 'time-ago-pipe';
@Pipe({
name: 'timeAgo',
pure: false
})
export class TimeAgoExtendsPipe extends TimeAgoPipe {}
@NgModule({
declarations: [
TimeAgoExtendsPipe,
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10212 次 |
| 最近记录: |