我正在流星中建立一个在线商店,客户可以在商店中定制产品。我已经设置了一个名为的仅限客户端的集合Inventory
,它存储所有产品数据并根据用户输入进行相应更新。一旦用户准备好结账,我将产品数据转储到名为ShoppingCart
. 我希望允许用户返回并修改他们对产品的编辑,因此如果找到匹配Inventory
项,我将路由器设置为来自$set
in 的数据:ShoppingCart
Inventory
Router.route '/:_type/:_id', ->
Session.set "inCart", false
@render @params._type,
data: =>
storedItem = ShoppingCart.findOne {
userId: Meteor.userId(),
image: @params._id
}
if storedItem?
delete storedItem._id
Inventory.update {image: @params._id}, {
$set: storedItem
}
Inventory.findOne image: @params._id
Inventory
编辑:每当数据发生变化时,这似乎会导致我的路由器方法陷入无限循环。有没有办法避免这个问题?我应该考虑有更好的方法来处理这种数据吗?