【发布时间】:2013-02-27 01:38:20
【问题描述】:
我正在运行 Meteor 0.5.7,并尝试在用户单击提交时显示引导警报消息。
client.js
Handlebars.registerHelper('isSuccessful',function(input){
return Session.get("success");
});
Template.form.events({
'click .submit' : function (event, template) {
if (condition) {
Session.set("success", true);
// hide warning, show success
$('#valid_form').show();
$('#invalid_form').hide();
} else {
Session.set("success", false);
// hide success, show warning
$('#valid_form').hide();
$('#invalid_form').show();
}
}
});
Template.form.rendered = function () { $('.alert').hide();};
page.html
<body>
{{> page}}
</body>
<template name='page'>
{{> form}}
</template>
<template name='form'>
<!-- Show Alerts Above Form -->
<div class="alert alert-success" id="valid_form">..</div>
<div class="alert" id="invalid_form">..</div>
{{#if isSuccessful}}
<div>SHOW CONFIRMATION PAGE</div>
{{else}}
<div>SHOW INPUT FIELDS</div>
{{/if}}
<div>
</template>
当用户最初点击提交并且不满足条件时,他们必须再次点击提交才能获得警告消息。所有其他时间逻辑都有效。
我已经查看了这个 - How does Meteor's reactivity work behind the scenes?,并重新阅读了有关响应式编程部分的 Meteor 文档,但仍有一些问题。
客户端中的else语句不应该默认为success == false的会话变量,并且车把模板立即在{{else}}块中拾取它吗?有点糊涂。谢谢,
【问题讨论】:
标签: meteor