routeLink는 현재 주소창url을 기준으로 url을 변경한다.
url이 변경된다는것은 컴포넌트도 전환됨을 의미한다.
활성화되는 컴포넌트는 변경되는 url과 route규칙에 지정된 컴포넌트가 되어 라우팅영역으로 이동한다.
어떤 라우팅영역으로 이동할까?
네비게이션 이벤트가 라우팅영역에서 발생하면 해당 라우팅영역으로 이동하며 라우팅영역이 아니라면 같은 컴포넌트내에 있는 라우팅영역으로 이동한다.
<a routeLink="detail" > good</a>
현재 url이 localhost:4200/good 이라면 위 링크로 이동되면 localhost:4200/good/detail이 된다.
<a routeLink="../detail" > good</a>
상대주소를 사용할 수 있다. 위 링크로 이동되면 localhost:4200/detail이 된다.
<a routeLink="/detail" > good</a>
/는 최상위경로를 의미한다. 위 링크로 이동되면 localhost:4200/detail이 된다.
<a routeLink="['detail',2]" > good</a>
"['detail',2]"은 배열사용한것인데 배열을 사용하려면 프로퍼티값에 앵귤러 템플릿문법을 사용한 것이다.
템플릿문법으로 해석되려면 프로퍼티바인딩되어야 한다.
<a [routeLink]="['detail',hero.id]" > good</a>
템플릿문법을 사용하면 위와 같이 routeLink프로퍼티에 배열을 할당할 수 있다.
http://localhost:4200/hero/11
배열을 사용하면 하위주소가 구성된다.
<a [routeLink]="['detail',hero.id, 'abc']" > good</a>
http://localhost:4200/hero/11/abc
<a routerLink="/hero/{{hero.id}}">
프로퍼티바인딩을 하지않으려면 문자열바인딩으로 할 수 있다.