问题标签 [angular5]

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 回答
2187 浏览

angular - 如何从 Angular 中的类名中找到组件类的原型并获取该类原型中定义的属性值?

是否可以在 Angular 中访问组件的类原型?

例如(这个没有返回值):

如果可能的话,如何在路由解析器函数中加入类的原型?

您可以在此处检查问题的 StackBlitz 重现


编辑

我提到 Angular 是因为我想了解 Angular 是否有一个内部方法/属性来查找类属性元数据的映射,它允许我在路由器解析器方法中访问类的静态属性。Angular 知道 route.component.name。所以我认为它可能有一个内部位置可以找到这种元数据。

0 投票
0 回答
514 浏览

angular - Angular 5 与 Auth0 集成,真的很慢

我们有一个 Angular 5 应用程序,它使用 Auth0 来处理我们所有的授权要求。它已经开发了大约一年。所以我们最初从 Angular2 开始,分别升级到 3、4 和现在的 5。缓慢的加载时间一直是一个问题。

我们在项目中使用 npm auth0 sdk。它托管在 s3 存储桶上。该项目使用 angular-cli 通过 webpack 构建。

有没有其他人经历过这个?有已知的解决方案吗?我们使用 uglify 来缩小一切。锁定屏幕很快就会显示出来,但是提交用户名/密码以点击回调/服务器身份验证然后加载仪表板的整个过程需要 20-30 秒。感觉就像一辈子。

我将附上我们的 angular-cli.json 文件和我们的 package.json 文件,让您了解应用程序中的所有内容。

角-cli.json

包.json

我还想添加一些瀑布的屏幕截图,以便我们可以显示滞后的位置。其中一个屏幕截图显示了外部字体,另外两个屏幕截图显示了对我们 API 的单独调用。一个用于帐户,一个用于联系人。

当我使用独立的东西时,我们的 API 非常快,比如 Google POSTman,或者直接在浏览器中调用它。尽管这些图像可能看起来像是我们的 API,但我只是不买它。我经常使用我们的 API,知道它运行得很快。我正在寻求帮助是缺乏 Angular 的经验。

在来自 Auth0 的回调中找到外部字体

在来自 Auth0 的回调中找到外部字体

调用“我的”帐户路由

调用“我的”帐户路由

调用“联系人”路由

调用“联系人”路由

如果您还有其他需要查看的内容,或者我可以添加以改进这篇文章,请告诉我。我觉得这对于以前经历过这件事的人来说已经足够知道如何提供帮助了。

谢谢!

0 投票
2 回答
6906 浏览

node.js - 从 Angular 4 升级到 5:“NodeInvocationException:没有 PlatformRef 的提供者!”

我已将应用程序从 Angular 4.2 升级到 5,但出现此错误: unhandled exception occurred while processing the request,更具体地说:

NodeInvocationException:没有 PlatformRef 的提供者!错误:没有 PlatformRef 的提供者!在 injectionError (e:\myapp\ClientApp\dist\vendor.js:12066:90)

该应用程序还使用webpackASP.NET Core.

我已经安装了node v9.1,和typescript 2.6.1

我也更新package.json了,使用以下命令:

之后,运行以下命令:

我也HttpClient用过Http

如果我将 Angular 4 降级回来,该应用程序运行良好,我的想法是否有任何不正确的地方?

0 投票
15 回答
127572 浏览

angular - NullInjectorError:没有 MatDialogRef 的提供者

我不能像文档中描述的那样注入 MatDialogRef:https ://material.angular.io/components/dialog/overview

当我尝试这样做时,我遇到了错误:

ERROR 错误:StaticInjectorError[MatDialogRef]:StaticInjectorError[MatDialogRef]:NullInjectorError:没有 MatDialogRef 的提供者!

app.module.ts

home.component.ts

注册.component.ts

0 投票
1 回答
719 浏览

diff - Angular5 [routerLink]="['/url']" 尝试区分“[object Object]”时出错。只允许使用数组和可迭代对象

Angular5[routeLink]="['/url']"抛出一个Error trying to diff '[object Object]'. Only arrays and iterables are allowed.

0 投票
0 回答
991 浏览

angular - 将属性指令绑定到组件 @ViewChild 未定义

我创建了一个属性指令ImageSpinloaderDirective来有条件地更改用户个人资料图片的外观,具体取决于是否有图片以及是否已加载:

  • 如果src无法解析属性的 URL(404 等),则应显示默认图像
  • 如果图片仍在加载,则应显示加载动画
  • 如果用户已更改,则会加载新的个人资料图像,并且旋转加载器应再次出现,直到加载完成

我的方法是监听 DOM 事件loaderror在其中相应ImageSpinloaderDirective地设置元素的src属性和img-loading类。<img>该类img-loading将图像不透明度设置为 0,并使用动画 gif 作为背景图像。

现在我想在每次显示不同的用户时isLoading从父组件 ( ) 更改指令的字段。UserDetailsComponent我认为@ViewChild在该组件中使用注释将是实现这一目标的正确选择。然而,由于某种原因,绑定似乎失败了,因为UserDetailsComponent'simageSpinloaderDirective总是未定义的。

是否可以在@ViewChild注释中使用属性指令?有没有更好/替代方法将属性指令绑定到组件?还是这种方法完全错误,应该以不同的方式实施?

用户详细信息.component.ts

用户详细信息.html

image-spinloader.directive.ts

0 投票
1 回答
48 浏览

angular-material - 您如何为 Angular5 + MD2 应用程序编写布局?

因此,Material Design 2 组件就在那里,等待在您的应用程序中使用,但我的问题是您将如何构建它们所在的布局?你使用https://github.com/angular/flex-layout吗?手动编写布局?使用 CSS Grid、Flexbox 还是两者兼而有之?

这是一个全新的网络应用程序,我更喜欢使用经久不衰的现代技术编写它(尽可能多地使用网络技术......)。

0 投票
2 回答
2791 浏览

angular - Quill 编辑器未在 Angular 中触发(更改)事件

我正在使用带有 ngx-quill NPM 包的 Quill 编辑器。一切都很好,只是我无法触发(更改)事件。这是HTML:

(change)="validateChange(field)" 无效。

感谢您的任何想法!

0 投票
1 回答
2277 浏览

typescript - Angular 5 - 刷新组件(不是整个页面)

现在,我有一个名为:重置默认值的按钮

(click)="onResetDefault()"在按钮标签内调用,我希望该onResetDefault()方法只刷新该特定组件而不是整个窗口(不像location.reload()。我该怎么做?使用角度 2+ 的做法的答案将不胜感激:)

0 投票
1 回答
2566 浏览

angular - Quill 编辑器未触发 Angular 中的(模糊)事件

我正在使用带有 ngx-quill NPM 包的 Quill 编辑器。一切都很好,只是我无法触发(模糊)事件。

现在,我让它在编辑器中的每个文本更改时触发。这是控制器

这是HTML:

但是,当我移动到不同的输入时,(更改)事件当然会停止触发,并且我找不到访问(模糊)事件的方法。我真正需要的是当表单域失去焦点时触发的 observable。我正在使用 Angular 5 反应式(动态)表单。

感谢您的任何想法!