使用反应性和模板的组合来实现你需要的 Meteor 方式。
模板名称.html
<template name="template_name">
{{#if username}}
<p><strong>{{username}}</strong></p>
{{else}}
<form>
<input type="text" name="username" placeholder="username" required />
<button type="submit">Submit</button>
</form>
{{/if}}
</template>
模板名称.js
Template.template_name.helpers({
username:function(){
return Session.get("username");
}
});
Template.template_name.events({
"submit form":function(event,template){
event.preventDefault();
var username=template.find("input[name='username']").value;
Session.set("username",username);
}
});
当您的模板首次呈现时,用户名助手将未定义,else 分支将显示输入。当您稍后在验证用户输入后设置 Session 变量时,它将重新呈现并在标签内显示它。