2017-03-19 9 views
0

시스템에 로그인 한 후 다른 경로로 사용자를 리디렉션하는 Meteor 응용 프로그램에 로그인 방법이 있습니다. (: app.min.js 등 예) 예상대로이 방법이 작동iron-router : 경로를로드 한 후 새로 고침을 할 때와 마찬가지로 경로를 완전히로드하는 방법은 무엇입니까?

Meteor.loginWithPassword(emailVar, passwordVar, function (err) { 
      if (err !== undefined) { 
       // error handling code 
      } else { 
       if (!Roles.userIsInRole(Meteor.userId(), 'active')) { 
        return Router.go('account-deactivated'); 
       } 
       if (Roles.userIsInRole(Meteor.userId(), 'pharmacist')) { 
        return Router.go('pharmacist-dashboard'); 
       } 
       if (Roles.userIsInRole(Meteor.userId(), 'admin')) { 
        return Router.go('admin-dashboard'); 
       } 
      } 
     }); 

동안, 내 테마 인해 자바 스크립트 로딩 문제 (AdminLTE)와 함께 몇 가지 문제가 발생 : 여기 내 방법입니다. 예를 들어 슬라이딩 효과는 리디렉션 된 페이지에서 작동하지 않습니다. 그러나 브라우저에서 페이지를 다시로드하면 예상대로 작동하기 시작합니다.

본인은 해결해야 할 별도의 문제임을 알고 있습니다. 그러나 Iron-router를 사용하여 Meteor에서 링크를 완전히 다시로드하는 방법이 있다면 도움이 될 것입니다. 특히 페이지가 새로운 JavaScript 및 CSS 세트가 사용되는 완전히 다른 사용자 환경으로 전송되는 경우.

사용자 문서가 iron-router인데 해결책이 없습니다.

답변

1

window.location.href을 사용하여 리디렉션 해보세요.

Router.go을 사용하면 window.location.href을 사용하면 방금 클릭 한 링크 (실제로 새로 고침) 인 것처럼 URL을로드하는 반면에 연결하려는 경로의 템플릿을로드하는 것입니다.

'경로 이름'이 아닌 실제 URL을 사용해야합니다. `;

window.location.href = "http://yourapp.com/route/here";

+1

나는'window.location.href = Meteor.absoluteUrl ("/ 약사 대시 보드")의 실제 URL을 작성하지 않도록 할 수 있었다 – yasgun