作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行 Meteor 0.5.7,并尝试在用户单击提交时显示 Bootstrap 警报消息。
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 的 session 变量,并且 handlebar 模板会立即在 {{else}} block 中获取它吗?有点迷糊。谢谢,
最佳答案
我的问题的答案似乎是将 Handlebars 注册助手中的 return Session.get("success") 更改为 return Session.equals("success",true) 就成功了。从我正在阅读的内容来看,它的“无效”较少? - 不确定那是什么意思 atm,但这是一个开始!
关于meteor - 如何使 session 变量具有反应性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346018/
我是一名优秀的程序员,十分优秀!