是否真的将整个对象传递给了这样做?

问题描述 投票:0回答:1

this page,我看到此代码:

post._id = Posts.insert(post);
Router.go('postPage', post);

...根据_id值加载页面。

这真的应该是,还是应该这样:

var id = Posts.insert(post);
Router.go('postPage', id);

IOW,为什么在需要的全部是id时传递整个对象,该ID是从insert函数返回的(引用到上面链接的页面,“ Lafuncióninsert()devuelve el identificador _id del objeto que se ha insertado en la base de datos“)?

即使显示的方式有效(路由器足够智能以提取ID),“我的方式”也不更好(即使我不是Sinatra)?

javascript mongodb meteor dom-events
1个回答
1
投票

您是正确的。您引用的博客文章中的示例代码甚至无法使用。

Router.route('/posts/:_id', {
  name: 'postPage',
  data: function() { return Posts.findOne(this.params._id); }
});

作为参数传递post时将失败,因为this.params._id是整个:_ id参数,而不是从传递的对象中提取_ id

© www.soinside.com 2019 - 2024. All rights reserved.