问题标签 [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.

0 投票
1 回答
706 浏览

typescript - 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于在 angularjs 中进行索引

***元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{}”在“{}”类型上找不到参数类型为“字符串”的索引签名

并且还显示对象可能是未定义的。


我试图在打字稿文件中实现此代码,但它显示了这些错误。为什么?我无法找到错误。请帮忙。

0 投票
1 回答
745 浏览

angular - 升级到 Angular 11 后,Angular 材质工具提示不起作用

我一直在我的应用程序中使用 Angular Material 工具提示,但是当我最近升级到 Angular 11 时,它已经停止工作。我在模板中使用以下代码创建了一个测试组件,我直接从https://material.angular.io/components/tooltip/overview复制了它

我打开了 Chrome 开发工具,当我悬停时我可以看到模板发生的变化,但我仍然看不到屏幕上的工具提示。

我已经安装了 Angular Material,并且我已经导入了所有必要的模块,所以我不确定问题是什么(可能只是 Angular Material 中的一个错误?)

0 投票
2 回答
568 浏览

angular - Angular http 发布并等待多个结果

我正在使用 Angular 11,我需要对将执行进程的 api 进行 http 调用。

所以如果我执行这个调用:

该 api 将在服务器端启动一个进程并完成它的工作。

因为这需要时间,所以我需要 Angular 来监听并获得不同的响应,例如,我可以让服务器发送进度百分比。

然后 Angular 会知道还剩多长时间并告诉用户,希望不只是超时等待结果。

这可以在 Angular 中完成,如果可以的话怎么做?

0 投票
1 回答
290 浏览

angular - 如何从 Angular Material 扩展面板切换 openAll() 或 closeAll() (按钮)?

我想在 2 个按钮之间切换:OpenAll 和 CloseAll。

如果它全部打开或关闭,我可以读取 mat-accordion 的布尔值吗?

0 投票
0 回答
26 浏览

angular - 可观察的| 异步不返回 null

nav.component.html:

导航组件.ts:

account.service.ts:

我正在学习可观察的概念,并遇到了一个问题,即在没有任何数据存储在本地存储中的情况下刷新页面时,看起来我的 currentUser$ 仍然不为空。

您可能注意到,在我的 nav.component.ts 中有一个日志,每次刷新页面或删除本地存储数据时,我仍然有以下对象:

日志的打印屏幕

0 投票
1 回答
1089 浏览

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.

0 投票
1 回答
156 浏览

angular - Angular:在库中的验证器中引用单例

我有多个 Angular 应用程序,它们都引用相同的 GraphQL API(使用 Apollo)并决定将 API 服务层迁移到共享库。作为该服务层的一部分,我正在导出一个名为“ApiValidator”的验证函数,用于触发表单中的错误状态。

它的工作方式是每当 API 遇到错误时,响应都会将其注册到 ErrorService 单例中的可观察对象。ApiValidator 函数返回一个承诺检查 ErrorService 是否有任何具有匹配“字段”属性的错误,如果是则返回错误。

当一切都在应用程序级别时,这非常有效,但是在迁移到库之后,验证器每次都会创建一个新的单例实例。这是因为我使用 Injector.create 和“useClass”来获取对验证器中服务的引用。但是,如果没有循环依赖,我无法让“useExisting”工作,并且在尝试通过包装服务中的构造函数使用 DI 时也遇到了同样的问题。

我不确定如何有效地设置它以提供关于 stackblitz 的工作示例或考虑到它跨私有库和应用程序的东西 - 如果有帮助,很乐意将代码发布在那里。现在,我已经在下面发布了所有相关部分。

非常感谢您提前提供任何见解或帮助!

图书馆代码

错误服务

ApiValidator

接口模块

GraphQLService(相关部分)

申请代码

应用模块

UserForm(相关部分)

UserFormTemplate(相关部分)

0 投票
2 回答
3422 浏览

angular - 无法设置 fileReplacements 以用 Angular 11 替换文件夹内容

我正在使用angular.jsonfileReplacements文件中的 angular cli 配置来替换文件夹内容,如下所示:

请注意,在replace值中,我使用的是文件夹路径而不是文件路径。这是 Angular 10 的工作代码。

我升级到 Angular 11,现在尝试使用以下命令构建 prod 版本时出现错误: ng build --prod

我得到的错误是:

ESLint 向我显示了这个警告:

我能用这个做什么?这是 Angular 11 的错误吗?我应该使用不同的方法吗?

任何帮助将不胜感激。

0 投票
1 回答
578 浏览

router-outlet - 将 Angular 版本 8 更新到 11 后,应用程序未运行

我有一个从 8 到 11 的 Angular 应用程序版本更新。此路由器在更新后无法工作。应用程序运行时显示空白页。编译和浏览器控制台没有错误。如何解决问题?

];

0 投票
0 回答
114 浏览

javascript - 如何使用 ESLint 在 Angular11 中创建 Mixin

在我的Angular9Angular10项目中,我能够使用 Harnessing the power of Mixins in Angular博客mixins中的以下步骤进行创建

构造函数.mixin.ts

我的mixin.mixin.ts

这工作正常,直到我按照Angular 更新指南 中的步骤更新了 Angular

在从 Codelyzer 和 TSLint 迁移 Angular CLI 项目并运行 linting ( )成功更改TSLintESLint以下之后,我收到以下错误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值。