问题标签 [angular2-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 - Angular2升级到RC6,找不到traceur
升级到 后RC6
,出现以下错误:
我知道没有代码就不容易解决问题,但也许有人有同样的错误并想通了。
现有帖子无法解决我的问题
更新: system.config.js:
更新 2:我将 system.config.js 更改为以下内容:
现在我收到以下错误:
angularjs - Angular1 <-> Angular2 Bridge 访问 $rootScope
我使用以下升级/降级桥https://angular.io/docs/ts/latest/guide/upgrade.html在一个应用程序中并排放置Angular1和Angular2 。
我的问题是是否有可能从Angular2服务访问Angular1 。 需要明确的是,我不是在问Angular2中的等价物是什么。$rootScope
$rootScope
angularjs - 混合 angular1+2 应用程序出错:未捕获错误:没有 Angular 2 应用程序的 NgModule 无法实例化 UpgradeAdapter
我正在开始一个 angular2 项目,希望重用我的 angular1 组件。我试图根据这个 plunkr http://plnkr.co/edit/yMjghOFhFWuY8G1fVIEg设置我的项目,但是当我尝试运行我的应用程序时,我收到了这个错误:
plunkr 只是在没有任何 ng2 模块的情况下实例化了升级适配器,我不明白为什么它对我不起作用。我不确定 plunkr 使用的 angular2 版本是什么,但我使用的是 2.0.0 版本。
angular - 无法将需要另一个控制器的 Angular 1.5 组件升级到 Angular 2
我有两个 Angular 1.5 组件:选项卡和选项卡。选项卡组件需要选项卡组件的控制器,以便后者可以管理选项卡组件的活动状态。这是代码(在打字稿中):
当我尝试使用 UpgradeAdapter 将这两个组件升级到 angular 2 时,TabController 中的父级永远不会得到解决,并且我收到“未定义的没有函数‘addTab’”错误消息。
angular - 如何使用 Angular 2 的 upgradeAdapter.upgradeNg1Component?
我很确定我在这里遗漏了一些基本的东西。
我在 RC5 之前开始使用 ng2 升级适配器开始将 ng1 应用程序移植到 ng2。之前,当您声明组件直接在组件上使用的指令时,一切都正确连接并且有意义。
但是,现在我正在尝试将我的混合应用程序迁移到 Angular 2 Final,并且在涉及依赖项时,整个 NgModule 事情都与混合应用程序混淆了。
为了创建升级适配器,我需要将我想在混合应用程序中使用的 Ng2 模块传递给它。没关系。但这意味着必须在创建升级适配器之前完全定义 Ng2 模块,对吗?如果这是真的,那么我如何使用尚未创建的升级适配器来升级 ng1 组件以在 ng2 模块中使用(需要在创建适配器之前创建)???
仅供参考,另一种方式很好 - 我有一个 typescript 模块,可以降级我需要在 ng1 中使用的所有顶级 ng2 组件(在 ui-router 配置中),并且在升级适配器之后加载 typescript 模块以及包含我要降级的组件的 Ng2 模块。
那么,我错过了什么?如何使用升级适配器的 upgradeNg1Component 功能?
如果没有这个功能,它会迫使我从最外层的组件开始向内工作。这很好用,除了有一些通用组件被全部使用,我宁愿不必先将它们转换为 ng2。
angularjs - Angular 1 和 2 混合应用程序 - “未定义要求”
我正在尝试将一个巨大的客户端应用程序从 Angular 1.x 升级到 Angular 2,但我遇到了一个非常烦人的障碍。我用一个虚拟的轻量级项目(粘贴在下面的文件)重新创建了这个问题,但让我先解释一下这个问题。
基本上,当我将tsconfig.json
模块指定为时commonjs
,我在 chrome 开发控制台中收到以下错误:
app.module.ts:1Uncaught ReferenceError: 要求未定义
当我将模块切换到 时system
,出现以下错误:
未捕获的 TypeError:无效的 System.register 调用。匿名 System.register 调用只能由 SystemJS.import 加载的模块进行,而不能通过脚本标签进行。
当我将模块切换到 时umd
,一切正常。但鉴于角度本身建议使用commonjs
,我担心这umd
不是正确的答案。但是,如果我错了并且umd
完全没问题,我很想听听一个很好的解释。
这是我重现我的问题的代码:
tsconfig.json:
打字.json:
systemjs.config.js :
包.json:
应用程序.js:
app.module.ts :
appCtrl.ts :
升级适配器.ts:
我错过了什么?
javascript - Angular 1+2 混合应用程序中的延迟加载
我们有一个 Angular 1+2 混合应用程序(因此使用 Angular 1 基础应用程序)。
在使用适配器引导我们的应用程序之前,我们使用升级适配器来降级我们的 angular2 组件。这按预期工作。
但是,我们预计会有大量 angular2 组件(150+),因此在引导之前加载所有组件将意味着初始加载非常慢。我正在尝试寻找延迟加载 angular2 组件的方法,以便我们可以根据需要加载它们。有没有办法做到这一点?
这是我的代码的一部分。
main.ts
模块.ts
升级适配器.ts
仪表板.component.ts
执行此操作后,我的仪表板组件可在应用程序中使用。
angular - Angular 2.2.1 混合应用程序不引导
我正在使用 Angular 2.2.1遵循从 1.x 升级指南。我已经剥离了大部分代码,现在我得到了:
main.ts:
app.module.ts:
当我的 webapp 加载时,我收到以下错误:
并且没有渲染。then
main.ts 中
的块没有被调用。AppComponent
使用选择器test-angular-two
,除此之外它是空的。
这是怎么回事?
angularjs - 无法从 @angular\upgrade\static Angular V2.2.1 导入 UpgradeModule
我目前正在将我的 AngularJS (ng1) 应用程序升级到 Angular 2 (ng2)。
我正在使用 Angular 2.2.1 版。
当我从 @angular\upgrade\static 导入 UpgradeModule 时,出现以下异常:
Uncaught SyntaxError: Unexpected reserved word
Uncaught ReferenceError: webpackJsnop is not defined
我正在使用 WebPack V1.13.1。
当我使用 upgrade_adapter 方式时,我需要添加 @Inject 注释。
谢谢您的帮助。
javascript - Bootstrapped Angular 2 + Angular 1 Hybrid App在使用downgradeComponent时未加载
我有一个 Angular 1 应用程序,我按照官方 Angular 教程 ( https://angular.io/docs/ts/latest/guide/upgrade.html ) 的说明引导混合 1+2 应用程序。我已经准备好所有代码并运行该应用程序,但绝对没有任何反应。它只是转到根 URL,我只能得到index.html
. 然而,主要<div ng-view>
永远不会通过$routeProvider
和更新app.ts
。至少这似乎是正在发生的事情。有零错误。这是我到目前为止所拥有的:
main.ts(通过 SystemJS 加载)
上述混合引导代码的一个注释 -据我所知,它正在工作。如果我将 Angular1 应用程序名称更改为blahblah
,我会在浏览器中收到一大堆错误。此代码可以找到MyA1App
定义的 Angular1 模块app.ts
并能够引导它。
索引.html:
app.module.ts
app.ts(来自 Angular 1,它定义了模块和路由 - 这应该仍然在使用和使用)
所以这里是问题的概述:
main.ts
通过systemjs
调用引导到 Angular2index.html
(似乎成功 - 没有错误)- 我可以在 Angular1 控制器、Landing 等中放置断点,并查看正在定义和加载的控制器。但没有其他事情发生!没有错误或任何东西。
- 该
ng-view
指令永远不会通过路由更新。在主页上检查后,它看起来像:<div class="main-content" ng-view=""></div>
- 任何地方都没有 JS 错误
- 如果我回去使用原始的 A1 引导程序,
index.html
它的工作原理是使用systemjs
加载 A2 和引导 A1 作为混合。
我在这里做错了什么,以至于原始Angular1
应用程序似乎可以正常加载和引导,但实际上并没有做任何事情?
更新:
我已经追踪到有问题的代码如下app.module.ts
:
这不是路由(那是一条红鲱鱼)。Angular1
如果我删除上面的代码,整个应用程序将引导并加载。我在上面的代码中做了什么可能导致一切停止加载,但不会产生任何JavaScript
错误?