Meteor Router 数据函数被调用两次
Meteor Router data function being called twice
我有一个路由数据函数,它调用 Meteor 方法将新文档插入到集合中。我注意到文档被插入了两次,然后我注意到每次访问路由时数据函数本身都会被调用两次。我不明白为什么会这样。
Router.route('/myurl',{
name: 'myurl',
path: '/myurl',
data: function () {
console.log('dupe?');
// the data function is an example where this.params is available
// we can access params using this.params
// see the below paths that would match this route
var params = this.params;
// we can access query string params using this.params.query
var post = this.params.query;
// query params are added to the 'query' object on this.params.
// given a browser path of: '/?task_name=abcd1234
// this.params.query.task_name => 'abcd1234'
if(this.ready()){
Meteor.call('points.add', post, function(error, result){
if(error)
{
Session.set("postResponse", "failed");
}
else
{
Session.set("postResponse", "success");
}
});
return {_message: Session.get("postResponse")};
}
}
});
我能够通过将数据下的所有内容移动到 Router.onRun 挂钩来解决此问题。
我有一个路由数据函数,它调用 Meteor 方法将新文档插入到集合中。我注意到文档被插入了两次,然后我注意到每次访问路由时数据函数本身都会被调用两次。我不明白为什么会这样。
Router.route('/myurl',{
name: 'myurl',
path: '/myurl',
data: function () {
console.log('dupe?');
// the data function is an example where this.params is available
// we can access params using this.params
// see the below paths that would match this route
var params = this.params;
// we can access query string params using this.params.query
var post = this.params.query;
// query params are added to the 'query' object on this.params.
// given a browser path of: '/?task_name=abcd1234
// this.params.query.task_name => 'abcd1234'
if(this.ready()){
Meteor.call('points.add', post, function(error, result){
if(error)
{
Session.set("postResponse", "failed");
}
else
{
Session.set("postResponse", "success");
}
});
return {_message: Session.get("postResponse")};
}
}
});
我能够通过将数据下的所有内容移动到 Router.onRun 挂钩来解决此问题。