问题标签 [angular11]
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.
typescript - 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于在 angularjs 中进行索引
***元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{}”在“{}”类型上找不到参数类型为“字符串”的索引签名
并且还显示对象可能是未定义的。
我试图在打字稿文件中实现此代码,但它显示了这些错误。为什么?我无法找到错误。请帮忙。
angular - 升级到 Angular 11 后,Angular 材质工具提示不起作用
我一直在我的应用程序中使用 Angular Material 工具提示,但是当我最近升级到 Angular 11 时,它已经停止工作。我在模板中使用以下代码创建了一个测试组件,我直接从https://material.angular.io/components/tooltip/overview复制了它
我打开了 Chrome 开发工具,当我悬停时我可以看到模板发生的变化,但我仍然看不到屏幕上的工具提示。
我已经安装了 Angular Material,并且我已经导入了所有必要的模块,所以我不确定问题是什么(可能只是 Angular Material 中的一个错误?)
angular - Angular http 发布并等待多个结果
我正在使用 Angular 11,我需要对将执行进程的 api 进行 http 调用。
所以如果我执行这个调用:
该 api 将在服务器端启动一个进程并完成它的工作。
因为这需要时间,所以我需要 Angular 来监听并获得不同的响应,例如,我可以让服务器发送进度百分比。
然后 Angular 会知道还剩多长时间并告诉用户,希望不只是超时等待结果。
这可以在 Angular 中完成,如果可以的话怎么做?
angular - 如何从 Angular Material 扩展面板切换 openAll() 或 closeAll() (按钮)?
我想在 2 个按钮之间切换:OpenAll 和 CloseAll。
如果它全部打开或关闭,我可以读取 mat-accordion 的布尔值吗?
angular - 可观察的| 异步不返回 null
nav.component.html:
导航组件.ts:
account.service.ts:
我正在学习可观察的概念,并遇到了一个问题,即在没有任何数据存储在本地存储中的情况下刷新页面时,看起来我的 currentUser$ 仍然不为空。
您可能注意到,在我的 nav.component.ts 中有一个日志,每次刷新页面或删除本地存储数据时,我仍然有以下对象:
angular - 角度 CLI 11 版本在 Internet Explorer 11 中不起作用
Angular CLI 11 在 IE 11 中不起作用我使用了 import 'zone.js/dist/zone'; // 包含在 Angular CLI 中。导入“网络动画-js”;// 运行npm install --save web-animations-js
. 导入'classlist.js';// 运行npm install --save classlist.js
.
angular - Angular:在库中的验证器中引用单例
我有多个 Angular 应用程序,它们都引用相同的 GraphQL API(使用 Apollo)并决定将 API 服务层迁移到共享库。作为该服务层的一部分,我正在导出一个名为“ApiValidator”的验证函数,用于触发表单中的错误状态。
它的工作方式是每当 API 遇到错误时,响应都会将其注册到 ErrorService 单例中的可观察对象。ApiValidator 函数返回一个承诺检查 ErrorService 是否有任何具有匹配“字段”属性的错误,如果是则返回错误。
当一切都在应用程序级别时,这非常有效,但是在迁移到库之后,验证器每次都会创建一个新的单例实例。这是因为我使用 Injector.create 和“useClass”来获取对验证器中服务的引用。但是,如果没有循环依赖,我无法让“useExisting”工作,并且在尝试通过包装服务中的构造函数使用 DI 时也遇到了同样的问题。
我不确定如何有效地设置它以提供关于 stackblitz 的工作示例或考虑到它跨私有库和应用程序的东西 - 如果有帮助,很乐意将代码发布在那里。现在,我已经在下面发布了所有相关部分。
非常感谢您提前提供任何见解或帮助!
图书馆代码
错误服务
ApiValidator
接口模块
GraphQLService(相关部分)
申请代码
应用模块
UserForm(相关部分)
UserFormTemplate(相关部分)
angular - 无法设置 fileReplacements 以用 Angular 11 替换文件夹内容
我正在使用angular.jsonfileReplacements
文件中的 angular cli 配置来替换文件夹内容,如下所示:
请注意,在replace
值中,我使用的是文件夹路径而不是文件路径。这是 Angular 10 的工作代码。
我升级到 Angular 11,现在尝试使用以下命令构建 prod 版本时出现错误:
ng build --prod
我得到的错误是:
ESLint 向我显示了这个警告:
我能用这个做什么?这是 Angular 11 的错误吗?我应该使用不同的方法吗?
任何帮助将不胜感激。
router-outlet - 将 Angular 版本 8 更新到 11 后,应用程序未运行
我有一个从 8 到 11 的 Angular 应用程序版本更新。此路由器在更新后无法工作。应用程序运行时显示空白页。编译和浏览器控制台没有错误。如何解决问题?
];
javascript - 如何使用 ESLint 在 Angular11 中创建 Mixin
在我的Angular9和Angular10项目中,我能够使用 Harnessing the power of Mixins in Angular博客mixins
中的以下步骤进行创建
构造函数.mixin.ts
我的mixin.mixin.ts
这工作正常,直到我按照Angular 更新指南 中的步骤更新了 Angular
在从 Codelyzer 和 TSLint 迁移 Angular CLI 项目并运行 linting ( )成功更改TSLint
为ESLint
以下之后,我收到以下错误npx ng lint my-project-name --fix
1:29 错误不要
{}
用作类型。{}
实际上意味着“任何非空值”。
- 如果您想要一个表示“任何对象”的类型,您可能想要
Record<string, unknown>
。- 如果你想要一个表示“任何值”的类型,你可能想要
unknown
@typescript-eslint/ban-types
在线上抛出错误export type Constructor<T = {}> = new (...args: any[]) => T;
我的问题是如何重构这条线以满足typescript
. 不幸的是,我无法在我的用例中找到答案,例如TypeScript '{}' 类型是关于如何输入非nullish
值。