2016-07-13 28 views
34

Yeni Angular2 yönlendirici yerine ui-router-ng2 kullanmanın yararları ve dezavantajları nelerdir? Geçmişte ngRoute kullanmak yerine Angular 1.x kullanan bir ui yönlendirici kullandım, çünkü iç içe geçmiş durumlar/yollar için daha iyi desteğe ihtiyacım var.Angular2 yönlendirici VS ui yönlendirici-ng2 VS ngrx yönlendirici

Peki şimdi Angular2'den ne haber? Her iki fırsatı değerlendirmek için sizden duymak isterim.

Ayrıca, Google'da arama ve arama yaparken, bilmediğim ngrx/router buldum. Eğer yerleşik yönlendirici Angular2 ait arasındaki farklar, Angular2 için yeni ui-yönlendirici ve ngrx yönlendirici nelerdir söyleyebilir?

+4

ngrx/yönlendirici, açısal 2 -> https://github.com/ngrx/router –

cevap

42

Genel bilgiler

NGRX Rotadocs

ngrx yönlendirici kullanımdan kaldırıldı edilir r! Ngrx yönlendiriciden standart Angular2 Router'a migration strategy var. Eğik ekibi

  • den

    Angular2 Yönlendiricidocs

    1. Standart solüsyon

    Angular2 Yönlendirici neredeyse hepsi var bileşenleri için inşa edilen

  • angularjs gelen UI-yönlendirici ilham vardı UI yönlendirici özellikleri. Angular2 için güncellenmiş angularjs gelen

    NG2 UI-yönlendiricidocs

    İyi bilinen UI-yönlendirici. Bilinen avantajlardan - AngularJS UI yönlendiriciden ng2 UI yönlendiriciye daha sorunsuz bir güncelleme yapar.

    karşılaştırılması

    UI'sı-yönlendirici Angular2 Router ile iki sürüm sözdizimini karşılaştıralım.

    angularjs UI-yönlendirici:

    app.config(function($stateProvider){ 
        $stateProvider.state('home', { 
         url: '/home', 
         templateUrl: 'home.html', 
         controller: 'HomeCtrl' 
        }) 
    }); 
    

    Angular2 UI-yönlendirici:

    export let state1: Ng2StateDeclaration = { 
        name: 'home', 
        component: HomeComponent, 
        url: '/home' 
    } 
    
    @NgModule({ 
    imports: [ 
        SharedModule, 
        UIRouterModule.forChild({ states: [home] }) 
    ], 
    declarations: [HomeComponent] 
    }) 
    export class MyModule {} 
    

    Angular2 Yönlendirici:

    (Güncelleme: özelliği - , V3-alfa7'den sonra çıkarıldı. Çünkü tembel yükleme yolları ile çalışmadı.) Görebildiğimiz gibi, genel olarak, Angular2 Router da hemen hemen aynıdır. Buna ek olarak, vb yolları aracılığıyla paylaşan statik/dinamik veriler, iç içe görünümler

    • aynı konum stratejileri (Yol ve Hash)
    • Benzer rota tanımları
    • gibi ortak özelliklerin çoğunu desteklediğini söylemek gerek Benzer hizmetler:
      • $ state.go ve Router.navigate
      • $ stateParams ve RouteParams
      • $ state.current.data ve RouteData
    • Benzer direktifler
      • ui-görünümü ve yönlendirici-çıkış
      • ui-sref ve routerLink

    Angular2 Yönlendirici UI- en almıştı

    Sonuç yönlendirici deneyimi ve bunu hayata geçirdi. AngularJS UI-router ile kod tabanınızı kolay ve hızlı bir şekilde Angular2'ye kolayca aktarmanız gerekiyorsa, Ng2 UI yönlendiricisini deneyebilirsiniz, aksi takdirde Angular2 Router'ın en uygun olacağını düşünüyorum. NG2 UI yönlendiricisini kullanmaya karar vermiş olsanız bile, tüm avantajları ve eksileri kontrol edin, mevcut noktada toplumun daha iyi destek anlamına gelen Angular ekibinden standart bir çözüm seçeceğini düşünüyorum.

  • +1

    için DEPRECATED OLDUĞU GİBİ: Bileşenler içeren bir 1.5.x uygulaması da dahil olmak üzere, birkaç 1. Açısal 1.x uygulamasına sahip olmak zorlayıcı bir argüman olabilir. Bileşenlerle NG1 için bileşen yönlendirme desteğini tamamladıkça, ui yönlendiriciyle bağlantı kurar. Açısal takım, NG1 uygulamaları için NG2 yönlendiricisinin neredeyse [bir backport için hurdaya çıkarma planları] (https://github.com/angular/angular.js/issues/15163) noktasında görünmektedir. Ayrıca, UI-Router dokümanları sadece bir facelift aldı ve onlara son baktığımda büyük ölçüde iyileşti. – Jasman

    +7

    Hem biz hem de devlet temelli Angular 2 UI-Router'ı denedik, Angular 1 uygulamaları oluştururken olduğu gibi, ilk tercihimiz. Destek mükemmel. Angular 2 stok yönlendirici üzerinden tavsiye ederim. – demisx

    +0

    @demisx UI-Router over Angular 2 Router seçmeniz için lütfen ayrılmamış mıyım? Benim karşımda ana özellik farklılıkları, UI Yönlendiricisinde (yeterli argüman olabilecek) varsayılan, varsayılan ve URL olmayan parametre değerleridir. Başka hiçbir farkı düşündün mü? – RobYed

    İlgili konular