0

我将文档附加为 addCrop 模板的数据上下文。当其中的自动表单提交成功后,我想在这个数据上下文中获取_id。我假设我可以从模板参数中获取它。但是,我不知道该怎么做。

AutoForm.addHooks(['addCrop'], {
        onSuccess: function(operation, result, template) {
        var _id = template.????
        Router.go("cropEdit", {_id: _id});
    }
});
4

2 回答 2

0

Autoform 文档中的 onSuccess 函数如下所示:

onSuccess: function(formType, result) {}

如果您在路由中设置数据上下文,则可以使用模板帮助程序来获取您需要的内容。

创建模板助手:

Template.yourTemplate.helpers({
    getRouteContext: function(){ 
      return yourObject;
    }
});

在您的自动表单中,将该函数作为属性添加到表单中:

{{#autoForm ... routeContext=getRouteContext}}

现在你可以在你的钩子中访问它:

AutoForm.addHooks(['addCrop'], {
        onSuccess: function(operation, result) {
        console.log(this.formAttributes.routeContext);
    } });
于 2015-05-05T17:08:42.173 回答
0

这似乎对我有用:

AutoForm.addHooks(['addCrop'], {
        onSuccess: function(operation, result) {
        var _id = this.template.id
        Router.go("cropEdit", {_id: _id});
    }
});

即注意在onSuccess处理程序中是如何this.template存在的。

于 2015-08-31T01:27:28.027 回答