2017-03-16 3 views
0

어쩌면 내 질문에 약간의 불확실성이 있지만 사진으로 이해할 수있을 것입니다. 나는 그것이 조금 추한 그래서는 layout 템플릿 내부의 404 오류 템플릿을 삽입 404 오류를 표시 할 때레이아웃 템플릿 내에 템플릿을 표시하지 않고 템플릿을 표시하는 방법은 무엇입니까?

Router.configure({ 
    layoutTemplate: 'layout', 
    notFoundTemplate: '404', 
    loadingTemplate: 'loading', 
    fastRender: true, 
}); 

건은 다음과 같습니다 :

그래서 내 Ironrouter 구성에서 나는 다음과 같은 코드가 enter image description here

레이아웃은 왼쪽 메뉴이고 위쪽 바 + 바닥 글입니다. 이 템플릿은 템플릿을 사용하므로 어디에서나 사용할 수 있습니다.

그럼 템플릿 404 만 템플릿 layout에 넣지 않고 표시 할 수 있습니까?

+0

각 경로의 레이아웃을 설정하고 Router.configure에서 기본 레이아웃을 제거 할 수 있습니다. – mutdmour

+0

하지만 모든 것을 놓을 수있는 논리가 아닙니다. 즉, 기본값이 아닙니다. @mutdmour – Jerome

+0

나중에, Router.configure에 없기 때문에 404 페이지를 제외한 모든 곳 – mutdmour

답변

1

깨끗한 방법은 없지만 이전에이 해킹을 사용했습니다. 다음과 같은 경로 정의를 사용하십시오. 'errorLayout'은 404 오류의 특수한 레이아웃 인 템플리트를 나타냅니다.

Router.route('/(.*)', function() { 
    this.layout('errorLayout'); 
    this.render('404'); 
    this.next(); 
}); 

해킹은 원래 here입니다.

+0

정말 대단합니다. 예, @mutdmour의 방법보다이 방법을 선호합니다. 입력 해 주셔서 감사합니다. – Jerome