시스템에 로그인 한 후 사용자를 다른 경로로 리디렉션하는 로그인 방법이 Meteor 애플리케이션에 있습니다. 내 방법은 다음과 같습니다.
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');
}
}
});
이 방법은 예상대로 작동하지만 JavaScript 로딩 문제 (예 : app.min.js 등)로 인해 내 테마 (AdminLTE)에 몇 가지 문제가 발생합니다. 예를 들어 슬라이딩 효과는 리디렉션 된 페이지에서 작동하지 않습니다. 그러나 브라우저에서 페이지를 다시로드하면 예상대로 작동하기 시작합니다.
해결해야 할 별도의 문제라는 것을 알고 있습니다. 그러나 철 라우터를 사용하여 Meteor에서 링크를 완전히 다시로드하는 방법이 있다면 도움이 될 것입니다. 특히 새로운 JavaScript 및 CSS 세트가 사용되는 완전히 다른 사용자 환경으로 페이지가 전송되는 경우.
iron-router 의 사용자 설명서를 살펴 보았지만 수정 사항은 해결책을 제공하지 않습니다.
window.location.href
리디렉션에 사용하십시오 .
using Router.go
은 링크하는 경로에 대한 템플릿을로드하는 것에 불과하지만 using window.location.href
은 방금 클릭 한 링크 인 것처럼 URL을로드합니다 (실제 새로 고침).
하지만 '경로 이름'이 아닌 실제 URL을 사용해야합니다.
window.location.href = "http://yourapp.com/route/here";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다