我可以为流星找到的每个教程/示例都显示了一个单一的视图应用程序。我想构建一些更复杂的东西。我不清楚如何处理多个视图......最好以某种可扩展的方式?
6 回答
Iron-router包允许您通过漂亮的、REST 式的、人性化的干净 URL访问不同的视图(布局) 。它支持 URL 中的参数,“加载”模板,等待订阅完成加载,before
以及after
钩子等。
此时您只能使用 Meteor 创建单页应用程序。请注意,单页并不意味着您不能拥有多个视图 - 为此使用Iron-router。
但是按照设计,Meteor 为浏览器提供了一个巨大的、独特的 JavaScript/HTML/CSS 应用程序,尽管有一个允许增量加载的功能请求。然后由应用程序(或更准确地说,JavaScript 框架)来动态呈现其视图以显示不同的“页面”。
我想知道同样的事情,我花了太多时间开始做某事。通过使用 Backbone 视图和路由,我终于得到了一个分页应用程序,因此我创建了一个简单的样板项目,以便将来更容易地设置这样的应用程序。
你看过madewith.meteor.com吗?
一堆应用程序有多个使用 Backbone 的视图创建britto的 Jonathan Kingston 已经启动了名为Stellar的简单流星框架
在游戏的这个阶段,不确定是否真的有最佳实践。但这两个似乎是当前的流动。
您还可以为多个视图创建一个选项卡式界面。这里有一个包项目“Smart package for generate a tabbed interface with pushState”github项目:https ://github.com/possibilities/meteor-tabs
现在最好的解决方案是使用路由包(路由器是基本的但可以工作)。工作流程是这样的:
- 声明路线;返回每个路由的模板名称
- 将包提供的响应式助手放在你的 body 标签中
- 反应式助手将返回与该路由关联的模板
- 您为每条路线创建一个模板,并可选择设置自定义发布功能
路由器将为您提供浏览器历史记录(客户端)。
请注意,此时 Meteor 处理 html/js 的方式存在一些限制。它们同时加载。好的一面是,一旦加载应用程序,页面转换将是即时的。