2016-01-14 96 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,這將會涉及到更多的細節。