问题标签 [angular9]
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 - 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 - 从 V8 更新到 V9 后,Angular App 无法编译
我最近使用Angular 官方网站提供的本指南将我的 Angular 应用程序从 V8 更新到了 V9。我按照指南中的所有步骤操作,应用程序已成功更新,但现在当我尝试构建时,我收到大量与管道指令相关的错误,甚至是我在模板中使用的组件。
这是管道错误的一个示例:
不能在 NgModule 中声明“TimeAgoPipe”,因为它不是当前编译的一部分。
指令错误的另一个例子:
无法绑定到“ngModel”,因为它不是“输入”的已知属性
这段代码在 Angular 8 上运行良好:
它甚至找不到我创建的组件,即使它们已在app.module.ts
文件中声明。它给了我这个错误:
'app-nav' 不是已知元素:
如果 'app-nav' 是一个 Angular 组件,那么验证它是这个模块的一部分。
如果“app-nav”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。
这是我的app.module.ts
文件,其中包含了它没有找到的所有内容:
更新
Instinct 和https://github.com/AndrewPoyntz/time-ago-pipe/issues/33建议的解决方案有效。不过,您必须记住禁用 angular.json 上的 AOT 编译
angular-material - Angular Material 导航栏 - 看不到标签
这是我的导航栏代码:
和组件:
它工作正常,除了我没有看到标签。知道为什么吗?
谢谢
angular - 已修复:Angular 9:使用 Angular 功能的未修饰基类
我最近更新到 Angular v9 并且根据更改日志中的定义,不推荐使用使用 Angular 功能或由指令或组件扩展的未修饰基类。
所以我的应用程序中有很多 mixin,如下所示:
破坏:
滚动:
在我的组件中扩展它,例如,
并尝试访问这些 mixins 的属性会引发以下错误:
任何人都可以帮我提出解决问题的建议吗?提前致谢!
*********更新*********
在我的组件中:
auth0 - 登录后的 Angular Auth0 安全身份验证保护页面在重定向后不显示
我第一次使用 Angular 测试 Auth0 并遇到了问题。我让我的用户通过 Auth0 登录,在他们登录后,我将他们重定向到受 Auth0 保护的仪表板页面。我已设法重定向用户,但在他们登录后,URL 显示用户在仪表板路线上,但他们看不到实际的仪表板内容。我试图查看发生了什么,我认为问题在于用户已登录,但 auth guard 布尔值从未设置为 true,这使我的程序不断刷新 URL。当我将身份验证防护从路由中移除时,重定向会起作用并显示内容。我玩过代码,希望能弄明白,但到目前为止还没有运气。
如果我必须分享更多代码,我将分享我的代码,请告诉我。
app.module.ts
auth.guard.ts
auth.services.spec.ts
auth.service.ts
我正在使用 Angular 9
angular - 更新到 Angular 9 失败
我在我的项目中使用 Angular 8,并想升级到 Angular 9。
我遵循升级指南,当我运行命令时:
ng update @angular/core @angular/cli
,
我收到一条错误消息:
更新:403 错误消失了,但现在我收到以下错误:
已解决: 我已将 tslib 添加到 package.json
angular - Angular 9 和 Ivy 的运行时错误:无法读取未定义的属性“id”;区
我们有一个带有测试的 Angular 8 项目。我们正在尝试升级到 Angular 9,并完成了https://update.angular.io/#8.0:9.0l3中的所有步骤。这一切都很顺利,没有任何问题。该应用程序编译没有错误,所有测试都运行良好。我们在运行时收到此错误。当我们关闭 Ivy 时,它运行良好,所以看起来肯定与 Ivy 有关。
angular - 从 Angular 4 迁移到 9
Angular 4 直接迁移到 9 是可取的,还是从 4 到 7 再从 7 到 9 会更好?
angular - 用户输入文本时在 ng-select 中隐藏占位符
我正在尝试在我的 Angular 9 项目中使用ng-select和材料设计来自动完成。默认情况下,当用户输入文本时,ng-select 会在自动完成输入字段的顶部显示占位符。但是,我想在用户输入文本后立即隐藏占位符,并在他清除输入字段时显示它。有没有办法使用 CSS 来实现这一点?项目上传到StackBlitz供参考