【问题标题】:Meteor page navigation without Iron Router没有 Iron Router 的 Meteor 页面导航
【发布时间】:2014-10-23 16:37:56
【问题描述】:
我已经在 Meteor 项目中实现了 Iron Router,但是我们希望在没有 Iron Router 的情况下进行页面导航,因为我们意识到它接管了 html 的控制权。
这是不需要的,因为我们担心它可能会使我们对 Meteor 的处理变得复杂。
然而,鉴于这几乎是默认方式,是否甚至可以在没有 Iron Router 或路由器包的情况下进行页面导航?
【问题讨论】:
标签:
meteor
iron-router
meteor-blaze
【解决方案1】:
我不确定我是否理解您对破坏反应性的担忧,但如果您愿意,您绝对可以避免使用路由器,只需使用 UI.dynamic (http://docs.meteor.com/#ui_dynamic) 之类的东西:
{{> UI.dynamic template=templateName [data=dataContext]}}
按名称选择要动态包含的模板。
UI.dynamic 允许您按名称包含模板,其中名称
可以由助手计算并且可以反应性地改变。数据
参数是可选的,如果省略,则为当前数据上下文
被使用了。
例如,如果有一个名为“foo”的模板,则{{> UI.dynamic
template="foo"}} 等价于{{> foo}}。
决定要呈现哪个模板的帮助程序可以是对会话变量(例如,Session.get('page'))的简单查找,然后可以通过设置该变量(例如,Session.set('page', "blog"))来更改当前模板。