2015-02-08 68 views
1

我想建立一个流星应用程序,它应该支持两个完全不同的主题(成员 - 管理员),每个主题都包含它自己的单独的CSS,LESS,JS和html文件。所以我想知道Meteor是否支持多个客户端主题和主题之间的动态切换?谢谢流星应用程序多个主题支持

+0

如果HTML是完全不同的,那么我会说这是不仅仅是一个“主题”,而是一个完全不同的*布局*。您可以根据用户的角色呈现不同的模板,然后您可以使用容器元素上的类来指定应该应用哪些CSS样式。 – sbking 2015-02-09 05:47:45

+0

@sbking是的,HTML也是不同的,所以它是不同的布局(S)。是否有可能在Meteor应用程序中动态加载不同的布局?换句话说,例如有说路径集A加载一个特定的布局,CSS,用户界面js和设置B的路线来加载另一个特定的布局,CSS和UI JS文件? – MChan 2015-02-09 09:34:52

回答

0

你应该可以使用控制器使用铁路由器包来实现你正在寻找的东西。

meteor add iron:router 

创建您的布局:

<template name="AdminLayout"> 
    <div> 
     {{> yield}} 
    </div> 
</template> 

<template name="MemberLayout"> 
    <div> 
     {{> yield}} 
    </div> 
</template> 

然后定义你的控制器:

AdminController = RouteController.extend({ 
    layoutTemplate: 'AdminLayout' 
}); 

MemberController = RouteController.extend({ 
    layoutTemplate: 'MemberLayout' 
}); 

然后你可以定义你的路由,并指定他们所使用的控制器:

Router.route('/admin', { 
    controller: 'AdminController' 
}); 

Router.route('/', { 
    controller: 'MemberController' 
}); 

然后只是创造e使用不同的css,js和whatnot分开模板。

你可以阅读更多关于包的位置:Iron Router