问题标签 [angular-upgrade]
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-ui-router - Ui-router 子状态未加载到降级的 Angular 组件中
我有一个混合/延迟加载的 Angular/AngularJS 应用程序,它使用新的 Angular 路由器和 ui-router 版本 0.4.2 以及并行出口/视图。为了做到这一点,我遵循了Victor Savkin 的 Lazy Loaded AngularJS 指南。总的来说,这运行良好,我可以在 Angular 路由和 AngularJS 路由之间切换。但是,我遇到了第一次打开页面时未显示 ui-router 子视图的问题。
如果尝试在启动时加载子状态,此问题只会影响状态。在路线之间导航不会遇到同样的问题。我还确定它仅在父状态模板被降级的 Ng2 组件包装时出现在路由中。
状态和模板定义
跟踪状态更改事件,我能够确定子视图被临时加载但随后被删除。
状态事件日志
使用<ng-content>
导致 ui-router 无法正确呈现的组件怎么样?我可以做些什么来纠正这个问题?
angular - 升级提供接口的 AngularJS ServiceProvider
$get
我正在尝试升级 AngularJS 服务提供者(TranslateProvider),它从它的函数返回一个接口的实例。
问题是,在 Angular 提供程序对象 (translateProvider) 中,该provide
字段应该是Translate
但不能使用,因为 TypeScript 接口仅用于编译时。这是我得到的错误:
这是源代码的要点:
angularjs - Angular 2+ 对 angularJs 的服务
我正在尝试转换 Angular 2+ 服务并在 angularJs 项目中使用它。
应用程序/users.service.ts
然后我用 rollup 把它转换成 js
我添加 downgradeInjectable 将 angular2+ 服务转换为 angularJs
接下来我尝试在angularJs中加载它
我错过了一些东西,因为它不起作用:/
我找不到资源来做这件事,所有人都试图将 ng1 服务转换为 ng2,但不是相反。
有人可以帮忙吗?
谢谢
angular - Angular UpgradeModule $rootScope.$digest 错误,即使我们没有手动触发摘要
我们有一个超级奇怪的登录错误,似乎是由Angular 的 UpgradeModule 中的这一行引起的,所以我对该行有疑问。
为什么是:
不是这样的:
?
为什么没有检查该摘要的阶段?
因为在第 214 行甚至有一条评论说
“在下一个 VM 轮次中运行回调 - $interval 调用 $rootScope.$apply,如果在同一个 vm 轮次中,在 NgZone 中运行回调将导致 '$digest already in progress' 错误”
该代码假设,因为它一直等到下一个滴答声,所以没有 $digest 阶段仍在发生。
我们没有使用 $interval,但显然在没有 setTimeout 的情况下调用这些行会导致我们看到的确切错误,所以不应该发生某种相位检查吗?
(而不是假设超时解决了问题)......这似乎是一个竞争条件。
这被标记为 angular 和 angularjs 的原因是因为这是 angular 的升级模块。升级模块在 angular 中使用 angularjs。
angularjs - downgradeModule 不会在混合应用程序中启动 Angular5 部分
Angular5 引入了一种将应用程序从 AngularJS 升级到 Angular 的新方法 -
downgradeModule
. 它应该解决在这种混合应用程序中急切更改检测的问题。到目前为止,我在 Angular4 中UpgradeModule
成功使用了,但由于更改检测,它导致了一些性能问题。现在我正在尝试使用downgradeModule
. 在这种方法中,首先启动 AngularJS,下一个 downgradeModule 启动 Angular。这样 AngularJS 在 AngularZone 之外运行,应该冷静下来检测什么。
main.ts
这被指出.angular-cli.json
为“主要”
现在,AngularJS 启动良好,但 Angular不行。控制台没有错误,没有提示。只是主选择器,例如。<my-app>
不评估。app.module.ts
在以前的工作版本的上下文中没有任何变化。
我使用了一些 Angular 文档草案,因为主要的文档没有说明downgradeModule
.
https://pr18487-aedf0aa.ngbuilds.io/guide/upgrade-performance
有谁知道为什么 Angular5 部分没有启动?
仅供参考,以前的main.ts
with UpgradeModule
which 的外观效果很好,但是变化检测。
angularjs - 升级 AngularJS 应用程序以包含 Angular 后 - marcoTask 'RequestAnimationFrame' 异常
我们已经将一个大型 AngularJS 应用程序升级到 Angular。升级我的意思是引导 Angular 应用程序,然后引导 AngularJS。
在 Chrome 上似乎一切正常,但是在使用 FireFox 时,我们经常会遇到以下异常:
这是完整的堆栈跟踪:
angularjs - 使用 ng-metadata 完成嵌入
我正在使用 AngularJs 1.6 和 ng-metadata 逐步将 AngularJS 组件迁移到 Angular。
我需要构建一个能够嵌入一些 HTML 的组件,我希望我可以使用 ng-metadata 提供的东西,因为当我们升级到 Angular 时它会更容易。不幸的是,我在文档中找不到任何关于此的内容。
使用嵌入的 ng-metadata 编写的 AngularJS 组件示例将帮助我开始使用它。
angularjs - 在 Angular 中使用 AngularJS 服务
我正在 Angular 项目中搜索包含 AngularJS 服务。
这是我的 main.ts:
这是我的 app.module.ts:
错误是:
angular - 角度路由停止使用 ngUpgrade
我正在将 AngularJS 1.5.X 应用程序升级到 Angular 4.3.0。我设法成功地引导应用程序并在 AngularJS 屏幕上使用 Angular 组件,直到我必须将 AngularJS 服务升级到 Angular 才能在 Angular 组件中使用。我必须按照升级指南中的描述创建一个提供程序,然后我开始收到 AngularJS $injector 未定义的错误。
所以我将 AngularJS 引导逻辑移动到 AppModule 而不是 main.ts。之后错误消失了,但路由已经停止工作,所以 ng-view 没有效果。
我的代码 App.Module.ts 如下:-
main.ts
应用组件.ts
索引.html
angularjs - 如何在 Angular 组件(Angular 升级、混合应用程序)中获取 NgModelController (AngularJS) 实例?
AngularJS 组件中可能需要 NgModelController。像要求这样的东西:
是否可以在 Angular 组件中需要 NgModelController(来自 AngularJS)实例(就像在 AngularJS 中一样)。
我有一个混合应用程序。我想在 AngularJS 组件的模板中使用 Angular 组件,例如:
我有一些 AngularJS 组件使用如下:
并且在a1-cmp
组件内部使用了类似$setViewValue
的方法。所以现在我将该组件重写为 Angular,但我需要支持内部和外部组件之间的同步机制。这不是问题,因为(内部和外部)组件都是 AngularJS。现在内部是 Angular,但外部是 AngularJS 组件。
有可能吗?我需要这个来影响 Angular 组件代码中的 AngularJS NgForm 实例状态(原始/有效性)。
有不同的解决方法可以做到这一点(最简单的是将 ngForm 实例传递给 Angular 组件并调用方法)