问题标签 [angular-hybrid]

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 投票
2 回答
468 浏览

angularjs - 更新到 Angular 10 后,如果没有“new”,就无法调用类构造函数 UpgradeComponent

我刚刚开始将 Angular 项目从 9.1.0 升级到 10.0.12 它仍然是一个混合应用程序,并且按照Angular 文档中的描述升级了几个组件(来自 Angular JS)

但是,在更新到 Angular 10 之后,这些升级的组件将无法加载并导致以下错误

类构造函数 UpgradeComponent 不能在没有“新”的情况下被调用(在新的 MyUpgradedComponentDirective 处)

我搜索了Changelog并没有找到任何关于 UpgradeComponent 的信息。

0 投票
0 回答
102 浏览

angularjs - 在 Hybrid Angular 应用程序的 app.module 的构造函数中注入 Angular 服务

我正在寻找一个 Angular 混合应用程序,它对我来说是新的。

它的 app.module.ts 在 providers[..] 下拥有带有升级 AngularJS 服务的提供者:

它已将 UpgradeModule 注入为:

然后,有以下内容:

我有一个 Angular 服务 - AuthTokenService.ts

我需要在 app.module.ts 构造函数中注入此服务 AuthTokenService (在加载应用程序之前在该级别进行一些处理/检查)但是,它看起来像在混合 Angular 中,我不能简单地将其注入为:

当我加载应用程序时,它给出了一个错误 -Trying to get the AngularJS injector before it being set.

知道是否以及如何在混合 Angular 应用程序的 app.module.ts 的构造函数中注入 Angular 服务吗?

0 投票
1 回答
209 浏览

angular - 在 Angular 中添加 @uirouter/angular-hybrid 时出错

执行我的角度项目时,我面临以下问题。我也安装了@uirouter/angular-hybrid。但是,我仍然收到此错误

你能建议一种方法来实现这一点吗?

0 投票
2 回答
153 浏览

angularjs - 如何在 Angular 混合应用程序中通过代码进行路由

我正在开发一个混合 Angular/AngularJS 应用程序。主要的 AppModule 是使用 AppRoutingModule 的 Angular 模块,它使用给定的状态。像这样的东西:

应用模块:

imports: [AModule, BModule, AppRoutingModule, ...]

应用路由模块:

imports: [UIRouterUpgradeModule.forRoot(states: some_state)]

状态:

我想要做什么——假设我在一个 BComponent 中,我想导航到 AComponent。在纯角度组件中,我将使用 RouterModule 中的路由器(AppModule 中的 forRoot 和子模块中的 forChild)。类似 router.navigateToURL('...')

现在我正在使用 UIRouterUpgradeModule ,但我找不到如何去做。任何帮助都会非常感谢!

0 投票
1 回答
73 浏览

angularjs - 如何在从 Angular 模块调用时注入 AngularJS 依赖项

我正在尝试托管一个简单的混合应用程序(AngularJS + Angular 7)。我能够根据指南设置基本和引导两个模块。我能够建立从 AngularJS 到 Angular 的通信。

我遵循了在 Angular 模块 ( https://angular.io/guide/upgrade ) 中注入 AngularJS 服务的指南。但是,我发现我遇到的一些问题可能是我试图理解的基本设置。

这是真正的问题,当我尝试从 Angular 调用 AngularJS 服务时,它在运行时失败,说明注入 AngularJS 服务的依赖项未定义。例如: $http 未定义。

我的问题是,我是否需要通过 Angular 模块中的提供者来注入这种依赖关系,我有一个提供者将服务本身注入到 Angular 模块中。任何有关指南或标准的帮助都会有所帮助。

这是我的 AngularJS 服务的格式。目前,我正在将其修改为类并尝试从 Angular 调用

在 Angular 中,我通过提供者注入此服务并尝试通过其构造函数实例化来使用此服务

0 投票
0 回答
22 浏览

android - Android 应用程序在 Angular Web 包装应用程序中安装推荐跟踪?

我想知道,是否可以在有角度的 web 包装的 android 应用程序中跟踪安装推荐?如果可能的话,请告诉我。我搜索了很多,但我什么也没找到。

0 投票
0 回答
42 浏览

angularjs - Angular 混合 - ngx-bootstrap 日期选择器

我正在开发一个混合应用程序,在该应用程序中,我们将 angular.js 1.7 迁移到 angular 5,初始阶段运行良好,我们能够成功降级组件、工厂、服务,但是当我们开始使用 ngx-bootstrap 模式时,datepicker对于我们的应用程序,我们面临一些问题我可以降级 ngx-boostrap 2.0.0 模块,以便可以在我的混合应用程序中使用,或者是否有任何其他方式来实现这个 ngx-boostrap 2.0.0 模块。在此处输入图像描述

添加日期选择器后它看起来像这样,而且它也不起作用。我没有在我的混合应用程序中降级这个 datepicker 模块。

0 投票
0 回答
209 浏览

angular - 调用 downgradeInjectable 以在 AngularJS 模块中使用新的 Angular 服务会引发 TypeError

尝试在混合应用程序的 Angular JS 模块中使用 Angular 服务会出现以下两个错误之一:

  1. Error: [$injector:unpr] Unknown provider: testServiceProvider <- testService- 即,对于 AngularJS DI,服务注册得太晚
  2. TypeError: Cannot read property 'has' of undefined- 即服务在 AngularJS$injector可用之前注册,在调用downgradeInjectable.

取决于我尝试在 AngularJS 模块上注册服务的位置:

  • Angular 应用程序模块,前 AngularJS-bootstrap:错误 1
  • Angular 应用程序模块,AngularJS-bootstrap 后:错误 2
  • 角度测试服务:错误 1
  • AngularJS 共享模块:错误 2

有谁知道如何解决这个问题,还是一种不受支持的方法?

代码

完整复制:StackBlitz


Angular ngUpgrade : downgradeInjectable


Angular :应用模块

AngularJS:共享模块

角度:测试服务

0 投票
0 回答
33 浏览

angularjs - Angular ngUpgrade - 使用 @angular/router 降级模块(用于性能)

在使用降级模块时,我们实际上将 @angular 应用程序包装到 angularjs 应用程序内的延迟加载模块中。

我问这个问题是因为我在任何地方都没有找到有关此问题的任何信息:

是否可以使用 @angular/router 代替或并排使用 ngRoute?如果是这样,您能否分享指向指南或示例的链接。

谢谢

0 投票
1 回答
86 浏览

angularjs - 如何测试注入 AngularJS 服务的 Angular 组件

我正在运行一个混合角度应用程序。我的大部分服务仍然在 AngularJS 方面。我可以在我的混合应用程序中使用它们就好了。

然后在我的 Angular 应用程序模块中:

这在运行应用程序时非常有用。但是,我在测试任何使用这些 AngularJS 服务的 Angular 组件时遇到了问题。

然后进行一个简单的测试,看看我是否可以创建组件:

运行测试时出现以下错误:

InjectionToken MyService 没有提供者!

我尝试使用这个:https ://angular.io/api/upgrade/static/testing/createAngularTestingModule ,但是在它提到的文档中

此帮助程序用于测试服务而不是组件。对于组件测试,您仍然必须引导一个混合应用程序。有关详细信息,请参阅 UpgradeModule 或 downgradeModule。

然而,深入研究 UpgradeModule 和 downgradeModule,实际上并没有关于如何引导混合应用程序来测试组件的文档。

尝试在测试模块中使用提供者提供,

给出以下错误:

$injector 没有提供者!