流星中多视图的最佳实践方法?

时间:2012-06-11 15:21:53

标签: meteor

我可以为流星找到的每个教程/示例都显示了一个视图应用程序。我想建立一些更复杂的东西。我不清楚如何处理多个视图...最好是以一种可扩展的方式?

6 个答案:

答案 0 :(得分:7)

iron-router包允许您通过漂亮的REST-ful human-friendly clean URLs访问不同的视图(布局)。它支持URL中的参数,“加载”模板,等待订阅完成加载,beforeafter挂钩等。

答案 1 :(得分:3)

此时您只能使用Meteor创建单页应用程序。请注意,单页,并不意味着您不能拥有多个视图 - 请使用iron-router

但是通过设计,Meteor为浏览器提供了一个独特的大型JavaScript / HTML / CSS应用程序,尽管有一个功能请求允许incremental loading。然后由应用程序(或更确切地说,JavaScript框架)来动态呈现其视图以显示不同的“页面”。

答案 2 :(得分:2)

我想知道同样的事情,我花了太多时间开始做事。我终于通过使用Backbone视图和路由获得了一个分页应用程序,因此我创建了一个简单的样板项目,以便将来更容易地设置这样的应用程序。

现场演示:backbone-boilerplate.meteor.com

此处的源代码:github.com/justinmc/meteor-backbone-boilerplate

答案 3 :(得分:1)

你看过madewith.meteor.com吗?

使用Backbone的一堆应用程序有多个视图,创建britto的Jonathan Kingston已经启动了名为Stellar的简单流星框架

在游戏的这个阶段,不确定是否真的有最好的做法。但这两个似乎是当前的流程。

答案 4 :(得分:0)

您还可以为多个视图创建选项卡式界面。在这里有一个包项目“用于生成带有pushState的选项卡式界面的智能包”github项目:https://github.com/possibilities/meteor-tabs

答案 5 :(得分:0)

现在最好的解决方案是使用路由包(路由器是基本的,但有效)。工作流程如下:

  • 申报路线;返回每个路由的模板名称
  • 将包裹提供的反应性助手放在身体标签
  • 反应性助手将返回与该路线相关的模板
  • 您为每条路线创建模板,并可选择设置自定义发布功能

路由器将为您提供浏览器历史记录(客户端)。

请注意,此时Meteor处理html / js的方式存在一些限制。它们同时加载所有内容。好的一面是,一旦加载应用程序,页面转换将是即时的。