【问题标题】:Angular 2 RC5 to RC6 upgrade issuesAngular 2 RC5 到 RC6 升级问题
【发布时间】:2016-10-03 14:50:05
【问题描述】:

我们有一个包含大约 100 多个组件的大型应用程序。我最近使用路由器 RC1 从 angular 2 RC4 升级到 RC5。现在我想在移动到最终版本之前将其升级到 RC6,因为 RC6 也有重大变化。 我在 package.json 中进行了必要的更改以移至 RC6 和路由器 rc.2。我遇到了一些已解决的构建错误,例如从所有组件中删除指令、管道和提供程序。删除了 HTTP_PROVIDERS、JSONP_PROVIDERS、FORM_DIRECTIVES、FORM_PROVIDERS 和 CORE_DIRECTIVES。在 app.module 中导入了 HttpModule、FormsModule、CommonModule 和 RouterModule。还将 DomSanitationService 重命名为 DomSanitizer 并使用 ComponentFactoryResolver 代替 ComponentResolver。

我现在面临的问题是:

  1. DynamicComponentLoader 已弃用。在应用程序中,我们使用 loadNexttoLocation()。我可以用什么来代替 DynamicComponentLoader?

  2. 错误:没有导出的成员 ControlValueAccessor

  3. 找不到名称“Contorl”

【问题讨论】:

  • 先迁移到 RC.6 有什么意义。除了错误修复之外,RC.6 和最终版本之间没有太多变化。
  • 是的,我了解,但是从 RC5 到 RC6 的重大更改需要在我的应用程序中进行更正,最终需要这些更改
  • @GünterZöchbauer 我尝试直接升级到 2.0.0,但 npm install 在类型安装时失败。我尝试了不同的版本,但仍然失败

标签: angular


【解决方案1】:

DynamicComponentLoader 已弃用,应替换为 组件工厂。

作为参考,请使用这些链接-

Angular 2 dynamic tabs with user-click chosen components

https://stackoverflow.com/a/37044960/1679310

正如 Gunter 上面提到的,现在转移到 RC6 没有任何意义。您可以直接将您的应用程序从 RC5 升级到 Final 2.0.0,并一次性解决这些问题。

【讨论】:

  • 我直接升级到了最终的 2.0.0。但我无法通过 npm istall。每次我尝试时,我都会收到打字错误。 "@angular/common": "2.0.0", "@angular/compiler": "2.0.0", "@angular/core": "2.0.0", "@angular/forms": "2.0.0", "@angular/http": "2.0.0", "@angular/platform-browser": "2.0.0", "@angular/platform-browser-dynamic": "2.0.0", "@angular/router": "3.0.0-rc.2", "@angular/upgrade": "2.0.0", "rxjs": "5.0.0-beta.12", "zone.js": "0.6.21", "typescript": "2.0.2", "typings": "1.0.4",
  • 验证所有基本配置文件、节点/npm 版本等。请参阅 angular.io 上的快速入门文章。如果一切就绪,则删除 node_modules 并再次使用 npm 重新安装。
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 2016-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-07-20
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多