AngularJSからUI-ルータに触発されましたUIルーターの機能Angular2用に更新AngularJSから NG2 UI-ルータdocs
よく知られているUI-ルータ。既知の利点から - AngularJS UI-routerからng2 UI-routerへのスムーズなアップデートを実現します。
を比較
は のは、UI-ルータAngular2ルータとの両方のバージョンの構文を比較してみましょう。
AngularJS 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はほとんど同じです。さらにとして、それはなどのルートを通じて共有する静的/動的データ、ネストされたビュー
- 同じ場所戦略(パスとハッシュ)
- 同様のルート定義
- のような一般的な機能のほとんどをサポートすることを言う必要があります同様のサービス:
- $ state.goとRouter.navigate
- $ stateParamsとRouteParams
- $ state.current.dataとRouteData
の
- 同様のディレクティブ
- UIビューおよびルータアウトレット
- UI-SREFとrouterLink
Angular2ルータはUI-のベストを取っていた結論
ルータの経験とそれを実装しました。 AngularJS UI-routerを使ってコードベースをAngular2に素早くスムーズに移行する必要がある場合は、Ng2 UI-routerを試してみてください。そうしないと、Angular2 Routerが最適と思われます。 NG2 UI-routerを使用することに決めたとしても、すべての長所と短所をチェックしてください。現時点では、コミュニティーがAngularチームの標準ソリューションを選択するようになっています。
アンギュラ2の場合はngrx/routerが推奨されません - > https://github.com/ngrx/router –