问题标签 [angular-ivy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 此构造函数与 Angular 依赖注入不兼容,因为它在参数列表索引 0 处的依赖无效
在我的 Angular 9 应用程序中,我有一个抽象类:
和一个扩展它的组件:
一切正常,除了测试,我得到以下错误:
错误:此构造函数与 Angular 依赖注入不兼容,因为它在参数列表索引 0 处的依赖无效。如果依赖类型是像字符串这样的原始类型,或者如果此类的祖先缺少 Angular 装饰器,则可能会发生这种情况。
请检查 1) 索引 0 处的参数类型是否正确,以及 2) 为此类及其祖先定义了正确的 Angular 装饰器。
angular - 从 Angular 8 更新到 9 时位置 0 的值
在遵循 update.angular.io 上的更新指南(+ 运行 npm 更新)并尝试使用ng serve
我得到以下错误编译网站后,我正在将我的项目从 Angular 8 更新到 9:
任何帮助表示赞赏。
更新
我的ng version
输出:
我的 package.json:
我的 tsconfig.ts:
更新 2
卸载angular-font-awesome
软件包后,我只收到一个 Angular 插件错误:
angular - Chunk 不包含延迟加载的组件
我刚刚将 Angular 9 应用程序拆分为 2 个模块以优化加载时间。不幸的是,编译产生的块非常小,似乎只包含我的功能模块和路由器的代码。该模块中包含的所有组件仍在主 js 文件中。
这就是我所做的:
应用模块
共享模块:
功能(ConfigModule)模块
特性模块在 App 的路由中被延迟加载:
最后,功能模块定义了自己的路线,如下所示:
我错过了什么?
我期待该块包含功能模块中包含的所有内容,而不仅仅是一小部分代码。
编译结果为:
- 5-es2015.js:4KB
- 主es2015.js:3.1MB
- polyfills-es2015:62KB
- 运行时-es2015:3KB
我会理解 main 由于所有依赖项应该更大,但它不应该包含功能模块的组件。
谢谢你的帮助
angular - 角常春藤和花括号
我最近使用 Ivy 编译器将我的应用程序更新为 angular 9,我遇到了这个错误:
错误:解析模板时出错:意外字符“EOF”(您的模板中有未转义的“{”吗?使用“{{'{'}}”)转义它。)(“]=”{'selected': isSelected(option)}", *ngFor="let option of options; index as i;" ) {{option}}
对于这个模板(这里是哈巴狗版本)
试图告诉我的是,我需要{
用{{ '{' }}
似乎很奇怪且难以理解的内容替换每个单曲:
那么有什么意义呢?我可以做些什么来解决这个问题,或者我真的需要重写我的代码?
angular - HMR 使用 Angular 9 + IVY 失败:类型 AppComponent 是 2 个模块声明的一部分:AppModule 和 AppModule
受影响的包裹
HMR + 常春藤
这是回归吗?
常春藤之前,它有效
描述
似乎IVY和HMR一起玩得不好?但是我看到他们的门票是关闭的,所以我想应该是可能的。我在代码更改后重新加载:
未处理的 Promise 拒绝:类型 AppComponent 是 2 个模块声明的一部分:AppModule 和 AppModule!请考虑将 AppComponent 移至导入 AppModule 和 AppModule 的更高模块。您还可以创建一个新的 NgModule,它导出并包含 AppComponent,然后在 AppModule 和 AppModule 中导入该 NgModule。背景类型是 2 个模块声明的一部分:AppModule 和 AppModule!请考虑将 Background 移至导入 AppModule 和 AppModule 的更高模块。您还可以创建一个新的 NgModule,它导出并包含 Background,然后在 AppModule 和 AppModule 中导入该 NgModule。
...
我们可以看到其他人如何更好地调查: https ://www.gitmemory.com/issue/storybookjs/storybook/8494/551763214
当前环境
角度版本:
ng 9.0.1
cli 9.0.1
angular - 错误 NG6002:出现在 NgModule.imports 的,但无法解析为 NgModule 类
我刚刚从 Angular 8.2 更新到 9。
如果我禁用常春藤,一切都会很好,但是当它启用时,我会遇到很多似乎有点模糊的错误,至少我在谷歌搜索时找不到任何结果。
我很确定我已经完成了更新所需的一切,即将延迟加载更改为使用动态导入和固定 Angular Material 导入路径等。
我还将在此处包含我的package.json依赖项
我得到的错误本身是:
我已经清除了我的node_modules和package-lock.json并再次运行npm install
编辑:也许同样重要的是要注意它正在编译和运行,ng serve
但是当我尝试构建它或使用 AOT 运行时,ng serve -aot
我得到了错误。
angular - 如何使用 Angular 9 (Ivy) 动态渲染和加载组件
我曾经使用 ComponentFactoryResolver 使用服务按名称加载和呈现我的组件。
这是代码的一部分,用于渲染组件
我使用函数getTypeOfComponent中的两行获得了组件的类型:
我在 Angular 9 中使用 Ivy 阅读过,您必须导入组件以进行“延迟加载”并渲染组件。
使用例如
但是我无法做到这一点,我总是遇到同样的错误
core.js:5845 错误错误:未捕获(承诺):错误:找不到模块“details-products/details-products.component”错误:找不到模块“details-products/details-products.component”
我已经尝试了很多组件路径,但仍然遇到相同的错误。
有任何想法吗?在 Angular 9 中使用 Ivy 渲染组件的任何其他方式?
编辑:
我已经尝试过博客所说的导入。例如:
这对我有用,但如果我做下一个:
然后这将不起作用并抛出找不到模块的错误。
有任何想法吗?
project - 如何使用 IVY 创建 Angular 9 项目?
如何使用 IVY 创建 Angular 9 项目?
我尝试了以下方法:
我的环境:
角 CLI:9.0.2
节点:12.16.0
操作系统:win32 x64
角度:...常春藤工作区:
包装和版本
@angular-devkit/架构师 0.900.2
@angular-devkit/核心 9.0.2
@angular-devkit/原理图 9.0.2
@原理图/角度 9.0.2
@原理图/更新 0.900.2
rxjs 6.5.3
C:\src\Angular\pilot\A9>ng new sample9prjivy --enable-ivy
未知选项:'--enable-ivy'
我错过了什么?
angular - 无法读取未定义的属性“禁用”:this.ngControl.control 在 Ivy 中未定义
正如此问题所述,如果您尝试使用指令访问 ngControl.control:
第一次渲染时会报错: