2017-11-23 16 views
0

Tutorial Angular 예제에서는 각도보기 구성 요소를 선택하고 제어하는 ​​데 사용됩니다.Route를 대신 사용하는 장점 * ng Angular View Component를 제어하려면?

* ngIf 지시문을 사용하여보기를 선택할 수 있다는 것을 알고 있습니다. 이렇게하면 더 읽기 쉽다고 생각합니다. 를 사용할 수있는 장점이 그들에게 무엇 (튜토리얼 등)

경로

template: ''' 
<h1>{{title}}</h1> 
<nav> 
    <a [routerLink]="['Dashboard']">Dashboard</a> 
    <a [routerLink]="['Heroes']">Heroes</a> 
</nav> 
<router-outlet></router-outlet> 
''', 

... 

@RouteConfig(const [ 
    const Redirect(path: '/', redirectTo: const ['Dashboard']), 
    const Route(
    path: '/dashboard', 
    name: 'Dashboard', 
    component: DashboardComponent, 
), 
    const Route(
    path: '/detail/:id', 
    name: 'HeroDetail', 
    component: HeroDetailComponent, 
), 
    const Route(path: '/heroes', name: 'Heroes', component: HeroesComponent) 
]) 

* ngIf (국도에 altenative)

template: ''' 
    <h1>{{title}}</h1> 
    <nav> 
    <button on-click="optionMenu(1)">Dashboard</button> 
    <button on-click="optionMenu(2)">Heroes</button> 
    </nav> 
    <div *ngIf="oMenu == 1"> 
    <my-dashboard></my-dashboard> 
    </div> 
    <div *ngIf="oMenu == 2"> 
    <my-heroes></my-heroes> 
    </div>  
    ''' 
    ... 

class AppComponent { 
    int oMenu; 

    void optionMenu(int i) { 
    oMenu = i; 
    } 
} 

:

는 예를 참조하십시오 각도 루트 전략 대신 *?

답변

2

브라우저 URL 표시 줄의 상태가 가장 큰 장점입니다.

사용자가 북마크를 생성하여 다시 방문하면 동일한보기가 표시되고 *ngIf 인 경우 처음보기는 항상 동일합니다.

라우터를 사용할 때의 단점은 라우터가 추가 한 구성 요소에는 <my-component [foo]="xxx" (bar)="doSomething()"과 같은 바인딩을 사용할 수 없다는 것입니다. 이러한 종류의 통신에는 일반적으로 공유 서비스가 사용됩니다.