【发布时间】:2015-05-08 20:58:18
【问题描述】:
我有一个显示帖子表格的模板。用户可以编辑、添加和删除帖子。我的网站有两种不同的帖子:它有一个共享的帖子库,每个用户都有帖子附加到他们的个人资料中。
我的表在整个站点中都是相同的,但 CRUD 操作根据是显示用户的帖子还是站点的共享帖子库而有所不同。例如,当用户添加帖子时,我需要运行Meteor.users.update({_id: [user ID]}, {$push: {'profile.posts': postObject}})。当站点管理员添加帖子时,我需要运行Articles.insert(postObject)。
最好的方法是什么?我尝试将参数传递给我的模板包含(即{{> postsTable source=Articles}})并在事件函数中对其进行测试,但似乎这替换数据上下文,这意味着我的模板无法再访问帖子.我也想过测试当前路由并用它来分支事件函数,但是那个方法似乎有点臭。
或者,我可以为包含表格的模板而不是表格模板本身绑定事件。这可能是最简单的解决方案,但是当唯一改变的是结果数据的存储方式时,我会在这些不同的模板中复制大量代码。
【问题讨论】:
标签: javascript templates meteor