2016-01-14 95 views
6

我有我的角度应用与版本1所以我升级它具有角版本2升级角1〜2

我们开始设计的是指定用角为每建一个新项目我们以前认为,这个项目的重要性非常高,它至少要生存并维持至少几年。

角2.0传来处于测试阶段,它好像一切即将改变,$范围时,指令都出来了,整个DI观念即将改变。

  1. 在接下来的几个月中是否有迁移路径/策略需要考虑?
  2. 如果我们建立使用1.x的项目,我们需要在开发过程中采取什么样的行动,以确保干净的迁移? 这两个版本可以被认为是2个不同的框架吗?

请帮我理清。

回答

3

在同一应用程序启用2的角1的混合和角。 您可以在同一视图混合角1所和2组成。 角1角和2可以在框架注入服务。 数据绑定适用于各种框架。

应用升级过程:

  1. 包含的角2和NG-升级库与现有应用程序
  2. 选择您想迁移
    • 编辑的角1个指令的模板组件以符合Angular 2语法
    • 将指令的控制器/链接功能转换为Angular 2语法/语义
  3. 使用NG-升级到指令(现在的一个组件)导出为角1个部分(这是需要,如果你想从一个角1个模板调用新的角2部分)
  4. 选择一个服务,你将想迁移
    • 大多数服务应该需要最小的改变。
    • 配置在角2
    • (可选)再出口采用NG-升级服务转变为角1,如果它仍然使用你的角1个代码的其他部分
  5. 重复做步骤#服务2和#3以方便您的应用程序开发
  6. 一旦没有更多的服务/组件需要转换,请删除最高级别的Angular 1引导程序并用Angular 2引导程序替换。

裁判:http://angularjs.blogspot.com/2015/08/angular-1-and-angular-2-coexistence.html

5

我认为,从角1迁移到2,因为大多数人认为这是不是几乎一样糟糕。

基本上,你需要打破它和第一迁移的概念...

  • 自举
  • 控制器
  • 指令
  • 组件
  • 模块
  • 路由
  • 服务
  • 形式
  • 过滤器

几乎所有那些可以被映射回1.x的概念 - 即使不是1:1的关系。一旦你明白了每一件事情是如何完成的,决定如何将你现有的代码缓慢地迁移到新的概念上就容易多了。

很难在一个单一的答案中涵盖每个和所有这些东西,因此可能会检查出ngmigrate.telerik.com,这将会涉及到更多的细节。