在Meteor中保存从MongoDB生成的可满足编辑的表单,可以按照以下步骤进行:
Mongo.Collection
来定义一个集合,用于存储表单数据。例如,可以创建一个名为Forms
的集合来保存表单数据。Forms = new Mongo.Collection('forms');
{{#each}}
来遍历表单数据,并使用{{#if}}
来判断是否处于编辑状态。<template name="formTemplate">
{{#each forms}}
{{#if editing}}
<input type="text" value="{{name}}" />
<button class="save">保存</button>
{{else}}
<span>{{name}}</span>
<button class="edit">编辑</button>
{{/if}}
{{/each}}
</template>
editing
属性设置为true
,并在点击保存按钮时将修改后的值保存到数据库中。Template.formTemplate.events({
'click .edit'(event, template) {
const formId = this._id;
Forms.update(formId, { $set: { editing: true } });
},
'click .save'(event, template) {
const formId = this._id;
const newName = template.find('input').value;
Forms.update(formId, { $set: { name: newName, editing: false } });
}
});
Template.formTemplate.onCreated(function() {
this.subscribe('forms');
});
Meteor.publish('forms', function() {
return Forms.find();
});
Meteor.startup
函数中插入一些初始数据到表单集合中,以便测试和演示。Meteor.startup(function() {
if (Forms.find().count() === 0) {
Forms.insert({ name: '表单1', editing: false });
Forms.insert({ name: '表单2', editing: false });
Forms.insert({ name: '表单3', editing: false });
}
});
通过以上步骤,你可以在Meteor中保存从MongoDB生成的可满足编辑的表单。请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云