gpt4 book ai didi

meteor - 如何使 session 变量具有反应性?

转载 作者:行者123 更新时间:2023-12-01 11:45:59 25 4
gpt4 key购买 nike

我正在运行 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com