目标是在点击事件上动态显示按钮。单击编辑按钮,将显示保存和取消按钮。单击取消按钮时,应显示返回的编辑按钮,该按钮不起作用。我在帮手中使用会话。
template.html
<head>
<title>ifelse</title>
</head>
<body>
<h1>Welcome to Meteor!</h1>
{{> hello}}
</body>
<template name="hello">
{{isEdit}}
{{#if isEdit}}
<div class="saveCancelBtnBarLogic">
<button class="button">Save</button>
<button class="cancelEditLogic button">Cancel</button>
</div>
{{else}}
<button class="editDishButtonLogic button">Edit</button>
{{/if}}
</template>
template.js
if (Meteor.isClient) {
Template.hello.events({
"click .editDishButtonLogic": function(event, template) {
console.log("edit true");
Session.set("isEditSession", "true");
}
});
Template.hello.events({
"click .cancelEditLogic": function(event, template) {
console.log("edit false");
Session.set("isEditSession", "false");
}
});
Template.hello.helpers({
isEdit: function() {
console.log("edit helper : " + Session.get("isEditSession"));
return Session.get("isEditSession");
}
});
}
该项目也部署在@ http://ifelse.meteor.com以供参考。
答案 0 :(得分:1)
解决:
更改以下行:
Session.set("isEditSession", "false");
所以:
Session.set("isEditSession", false);
false是一个布尔值 - 注意false不再是引号。感谢benjick在这里回答@ https://forums.meteor.com/t/if-else-block-in-spacebars-template-not-executing-for-the-second-time/8388/2