Метеор обновил свой API как сгусток, так как этот вопрос был задан, поэтому исходный код больше не работает напрямую.
Использование jQuery.html для вставки результатов рендеринга шаблона не является нормальным подходом. Лучше использовать шаблон handlebars include.
Например, заменить:
$().ready(function(){
hello = Meteor.ui.render(function(){
return Template.hello();
});
$('body').html(hello);
});
С:
<body>
{{> hello}}
</body>
Оказывать разные вещи в зависимости от состояния приложения, используйте объект 'Session' в conditionalize включает. Например:
<template name="foo">
{{#if showNewUserDialog}}
{{> newUserDialog}}
{{else}}
other stuff
{{/if}}
</template>
<template name="newUserDialog">
some stuff
</template>
и
Template.foo.showNewUserDialog = function() {
return Session.get('showNewUserDialog');
};
Template.other.events({
'click #new_user': function() {
Session.set('showNewUserDialog', true);
}
});
Я испытываю подобную проблему, эта ошибка влияет на события, прикрепленные к шаблону – denysonique
я HAM с той же проблемой. – zengr