【发布时间】:2017-05-21 18:07:41
【问题描述】:
成功验证表单后,我想将用户重定向到特定页面并显示一些值。我不知道我认为使用的方式是否正确。这是我已经尝试过的:
在模板中创建表单:
{{> quickForm collection="Transactions" id="insertTransaction" type="insert"}}
然后我创建了在验证和插入表单时调用的钩子
AutoForm.addHooks('insertTransaction',{
onSuccess: function(data){
Router.go('one', null, {query: 'amount=' + data->amount});
console.log(data);
}
});
@米歇尔·弗洛伊德
我的.html
<template name="one">
<div class="row">
<div class="col-sm-7">
One Page...
</div>
<div class="col-sm-5">
{{ amount }}
</div>
</div>
</template>
我的 home.js 代码(client/home.js):
AutoForm.addHooks('insertTransaction',{
onSuccess: function(data, data2, data3){
result = Transactions.findOne(data2, { amount: 1});
amount = (result["amount"]);
Router.go('one',{amount: amount});
}
});
这是我的路由器代码:
Router.route('/one/:amount',()=>{
name: 'one',
this.render('one', {data: this.params.amount});
});
我总是收到“找不到名为“one”的路线”。
【问题讨论】:
-
这个想法在我看来是合理的。
-
似乎使用
data->amount不起作用。当我只使用数据作为 GET 参数data传递时,我只得到“插入”。如何访问值本身? -
那不是data.amount吗?但我不使用 IronRouter,所以我不太清楚那条线上发生了什么。我只是说整体想法似乎合理。
标签: javascript meteor iron-router meteor-autoform