Ответ 1
Общая информация
NGRX Router docs
ngrx router устарел! Существует стратегия от маршрутизатора ngrx до стандартного маршрутизатора Angular2.
Angular2 Маршрутизатор docs
- Решение по умолчанию из команды Angular
- Был вдохновлен UI-маршрутизатором от AngularJS
- Построено для компонентов
Angular2 Маршрутизатор имеет почти все функции UI-маршрутизатора.
NG2 UI-router docs
Известный UI-маршрутизатор от AngularJS обновлен для Angular2. Из известных преимуществ - делает более плавное обновление от UL-маршрутизатора AngularJS до UI-маршрутизатора ng2.
Сравнение
Позвольте сравнить синтаксис UI-маршрутизатора обеих версий с Angular2 Router.
UI-маршрутизатор с угловым интерфейсом:
app.config(function($stateProvider){
$stateProvider.state('home', {
url: '/home',
templateUrl: 'home.html',
controller: 'HomeCtrl'
})
});
Angular2 UI-маршрутизатор:
export let state1: Ng2StateDeclaration = {
name: 'home',
component: HomeComponent,
url: '/home'
}
@NgModule({
imports: [
SharedModule,
UIRouterModule.forChild({ states: [home] })
],
declarations: [HomeComponent]
})
export class MyModule {}
Angular2 Маршрутизатор:
Свойство( Обновление: - name
было удалено после V3-alpha7. Потому что это не сработало с ленивой загрузкой маршрутов.)
import {
RouteConfig,
Route
} from 'angular2/router';
import {HomeComponent} from './components/home';
@Component({})
@RouteConfig([
new Route({
path: '/home',
component: HomeComponent,
name: 'Home' // Deprecated property, works until v3-alpha7
})
])
export class App {...}
Как мы видим, в общем случае Angular2 Router почти то же самое. В качестве дополнения нужно сказать, что он поддерживает большинство общих функций, таких как обмен статическими/динамическими данными через маршруты, вложенные представления и т.д.
- Те же стратегии размещения (Path and Hash)
- Подобные определения маршрутов
- Похожие услуги:
- $state.go и Router.navigate
- $stateParams и RouteParams
- $state.current.data и RouteDatali >
- Аналогичные директивы
- ui-view и маршрутизатор-выход
- ui-sref и routerLink
Заключение
Angular2 Маршрутизатор лучше всего воспринял опыт UI-маршрутизатора и реализовал его. Если вам нужно быстро перенести свою базу кода с помощью UL-маршрутизатора AngularJS на Angular2 быстро и плавно, вы можете попробовать Ug-маршрутизатор Ng2, в противном случае я думаю, что Angular2 Маршрутизатор подойдет лучше всего. Даже если вы решили использовать NG2 UI-router, проверьте все плюсы и минусы, в настоящий момент я чувствую, что сообщество собирается выбрать стандартное решение из команды Angular, что означает лучшую поддержку.