gpt4 book ai didi

javascript - 在 Meteor 中使用自动表单将 postId 添加到评论中

转载 作者:行者123 更新时间:2023-11-30 16:46:01 24 4
gpt4 key购买 nike

如何在使用 meteor-autoform 时将添加 postId 链接到评论?

我试过了

AutoForm.hooks({
insertCommentForm: {
formToDoc: function(doc) {
doc.postId = this.formAttributes.parentContext._id;
return doc;
},
}
});

AutoForm.hooks({
insertCommentForm: {
formToDoc: function(doc) {
doc.postId = Template.parentData(1)._id;
return doc;
},
}
});

AutoForm.hooks({
insertCommentForm: {
before: {
method: function(doc) {
doc.postId = this.formAttributes.parentContext._id;
return doc;
}
}
}
});

AutoForm.hooks({
insertCommentForm: {
before: {
method: function(doc) {
doc.postId = Template.parentData(1)._id;
return doc;
}
}
}
});

但是无论我做什么,postId 都是未定义的。

编辑

我是这样使用的:

<template name="comment">
<div>
<h1>{{_id}} {{title}}</h1>
{{#if currentUser}}
{{> quickForm collection="Comments" id="insertCommentForm" type="insert"}}
{{/if}}
....

所以 _id 应该是可访问的。

编辑2

现在我试过了

before: {
insert: function(doc, template) {
doc.postId = Template.instance().post._id;
console.log(doc);
return doc;
}
},

在我使用的模板中

{{> quickForm collection="Comments" id="insertCommentForm" type="insert" post=this template="bootstrap3-inline" label-class="sr-only"}}

但是帖子是 undefined 所以我得到错误 Uncaught TypeError: Cannot read property '_id' of undefined

最佳答案

而不是使用你的

{{> quickForm collection="Comments"id="insertCommentForm"type="insert"}}

试试看

{{> quickForm collection="Comments"id="insertCommentForm"type="insert"postId=_id}}

然后尝试通过

在助手内部访问这个值

Template.instance().data.postId


您也可以将整个帖子对象发送到子模板,例如

{{> quickForm collection="Comments"id="insertCommentForm"type="insert"post=this}}

然后可以通过

完全访问该集合文档

(例如)

Template.instance().data.post._id


这是一个通过模板访问数据的小示例

http://meteorpad.com/pad/Ke9DJnbvtsqjSHJy2/SimpleDataGivenThroughTemplates

关于javascript - 在 Meteor 中使用自动表单将 postId 添加到评论中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229713/

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