내 목표는 한 페이지에서 다른 페이지로 전환하는 것입니다. Iron-Router로이 작업을 수행하는 방법을 알고는 있지만 창문이있는 사람들에게 Meteor를 가르치기 때문에 Iron-Router를 직접 프로그래밍하고 싶습니다. 따라서 Iron-Router가 필요하지 않습니다.Iron-Router 또는 모듈이없는 Meteor 0.8.0의 다중 페이지 응용 프로그램
편집 : 하위 질문 : 여기에서 제안 된 3 가지 방법이 더 효율적입니까?
내 첫 번째 방법 :
//HTML
<body>
{{>mainTemplate}}
</body>
//Cliente JS Initially
Session.set('current', 'initialTemplate')
Template.mainTemplate = function()
{
return Template[Session.get('current')];
};
//Later
Session.set('current', 'someOtherTemplate')
이 매우 유성과 방식으로 작동하지만 그것은 IDE에 의해 확인되지 않고 오류를 유발할 수있는 수동 문자열을 많이 필요로한다. 그래서 내 두 번째 방법이이 해결하는 것입니다 : 그것은 매우 읽을 수있는 짧은이다,
이//HTML
<body>
</body>
//JS Client Initially
UI.materialize(Template.initialTemplate, document.body);
//Later
$("body").html("");
UI.materialize(Template.someOtherTemplate, document.body);
이 두 번째 접근 방식은 변수가 아닌 문자열을 사용, 간단하고 작동하지만 내가 jQuery를에 대해 조금 의심을 오전, 내가 먼저 오늘을 사용 . 또한 Meteor 내부에 HTML 덩어리를 삭제하는 것이 정말 편리할지 모르겠습니다. 가능하면 순수한 Meteoric 방식을 선호합니다.
미리 감사드립니다.
이 패턴은 현재 매력처럼 작동합니다! 누군가 간단한 것을 찾을 수 있습니까?
//HTML
<body>
{{>mainTemplate}}
</body>
//JS Client Initially
var current = Template.initialTemplate;
var currentDep = new Deps.Dependency;
Template.mainTemplate = function()
{
currentDep.depend();
return current;
};
function setTemplate(newTemplate)
{
current = newTemplate;
currentDep.changed();
};
//Later
setTemplate(Template.someOtherTemplate);
이 answer에서 촬영이 패턴과 Meteor docs이 seccion.
질문 : '페이지'는 어디에서 왔으며 어떻게 설정합니까? –
좋아요, handle/space 막대에 대해 조금 읽으십시오. 여전히 Session.set ('currentPage', 'somePage'); '을해야만 페이지를 전환 할 수 있다고 생각합니까? 이 문제는 세션 변수가 문자열이고 변수 값도 수동 문자열이라는 점입니다. –
나의 마지막 코멘트가 참이면, 당신의 방법은 나의 첫 번째 방법과 동일합니다. –