기본
Riot은 라우팅 기능을 포함하고 있다. 우선 간단한 예제를 살펴보자.
먼저 index.html 은 아래와 같다.
다음은 app.js 이다.
<navigation></navigation> 태그는 ‘/home’, ‘/about’, ‘/contact’ 링크를 포함하고 있다고 가정. 각, 링크를 클릭하여 메뉴를 이동하면 브라우저 주소창의 URL이 변경될것이다.
기본 URL파서는 path부분을 콜백함수의 인자로 받는다. ‘/home’의 경우 ‘action’은 ‘home’이 된다.
만일, route를 아래와 같이 정의하고 ‘/users/1234/edit’ 와 같이 URL을 호출한다면 어떻게 될까?
collection : users
id : 1234
action : edit
와 같이 인자를 받게 된다. 유의할 점은 riot router는 자동으로 실행되지 않기 때문에 반드시 riot.route.start()를 해줘야만 작동한다.(v2.3이후) 이것은, riot과 함께 다른 router도 사용할 수 있음을 의미한다.
필터
다른 라우터들 처럼 URL의 앞부분 또는 일부를 고정된 형태로 필터링 할 수 있다. 다음과 같이 정의할 경우 항상 ‘/fruit’에 매칭된다.
와일드카드(*)또한 지원되므로 다음과 같이 정의할수 있다.
/fruit/apple 을 호출할 경우 name = apple 이 된다.
활용
이것은 Riot Router의 기본 URL파서의 행동으로서 URL파서를 커스터마이징 하여 다르게 작동할 수도 있다.
/users/edit?id=1234를 호출할 경우
추가적인 API 사용법은 Route API에서 자세히 볼 수 있다.