我试图将int year = jYearChooser1.getYear();
int month = jMonthChooser1.getMonth();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
Date dt = new Date(year, month,00);
Date todate = dateFormat.format(dt);
设置为变量,但它似乎没有返回值。我不确定我是否正确设置变量或者是否完全是其他设置。
this.editMode
答案 0 :(得分:3)
在你的模板html中,
<template name="user">
{{#if isEditMode}}
<div class="btn btn-info save-user">
<i class="fa fa-save"></i>
</div>
<!-- your edit form here -->
{{else}}
<div class="btn btn-info edit-user">
<i class="fa fa-pencil"></i>
</div>
<!-- your view form here -->
{{/if}}
</template>
然后在您的模板javascript中,首先向模板实例添加一个反应变量,然后添加编辑此反应变量的click事件侦听器。使用帮助程序检索模式以相应地显示表单或列表。
Template.user.onCreated(function() {
this.isEditMode = new ReactiveVar(false);
});
Template.user.events({
'click .edit-user': function (ev, template) {
template.isEditMode.set(true);
},
'click .save-user': function (ev, template) {
//validate and save user data here and in the callback, set
template.isEditMode.set(false);
}
});
Template.user.helpers({
'isEditMode': function () {
var template = Template.instance();
return template.isEditMode.get();
}
});
<强>更新强>
如果我理解正确,您希望在加载模板时根据用户信息显示表单或列表。如果是这种情况,代码的问题是,它不是调用函数。把它改成这样的东西,
Template.user.onCreated(function() {
var template = this;
template.editMode = new ReactiveVar(false);
template.autorun(function () {
var data = Template.currentData(); //Is template data your user?
var isClassAvailable = (data.profile.class && data.profile.class.name) ? true : false;
template.editMode.set(isClassAvailable);
});
});
答案 1 :(得分:0)
我会将Session用于此类用例。
Session.setDefault('userEditMode', false);
Template.user.rendered = function() {
var classes = function (){
var class = (this.profile.class && this.profile.class.name);
if (class != null) {
return true;
} else {
return false;
};
};
Session.set('userEditMode',classes);
});
更新(供您发表评论)
您应该使用Session变量检查,而不是使用类函数。
因此,在您的模板中使用:
{{#if isEditMode}} {{> form}} {{else}} {{> list}} {{/if}}
在你的模板助手中:
Template.user.helpers({
isEditMode : return Session.get('isEditMode');
});
如果您使用handlebars-helpers for meteor,则可以直接访问模板中的Session变量:
{{#if $.Session.get 'isEditMode'}} {{> form}} {{else}} {{> list}} {{/if}}
有了这个,您无需定义助手。