在我的应用程序中,我需要显示从流星模板呈现的无序列表,并且每个列表项都需要能够显示从相同模板渲染的子列表(如果单击),并且新添加的列表需要能够进一步选择展示新的子列表。Meteor 0.8 Blaze:将反应模板添加到DOM?
原始列表,并且子列表以蒙戈表示这样的:
{ person:"Tom", friendIds: [ id1, id2, id3] }
我所需要的子列表中的项目是反应性,所以如果父蒙戈文档中的子列表中的项目的数据被修改,则子列表显示更改。
我曾尝试使用
UI.insert(UI.renderWithData(...))
其在初始插件的伟大工程,但不具有反应性。我还尝试了一些我在论坛中发现的其他模式,但目前为止还没有一种适用于我。
在0.8及更高版本中,目前推荐的解决此问题的方法是什么?我打算深入研究Deps的机制,试图让它发挥作用,但我担心如果我将自己的解决方案推广到这一点,我会偏离流星的方式。
势在必行DOM操作一般是在流星错误的做法。您应该能够使用声明性模板来完成这项工作。在会话中,您可以存储哪些子列表已展开,然后在列表项的模板中,根据Session变量决定是否显示其子列表。 – user3374348