【问题标题】:Meteor app multiple themes support流星应用多主题支持
【发布时间】:2015-02-08 21:52:53
【问题描述】:

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

【问题讨论】:

  • 如果 HTML 完全不同,那么我会说这不仅仅是一个“主题”,而是一个完全不同的 布局。您可以根据用户的角色呈现不同的模板,然后您可以使用容器元素上的类来指定应应用哪些 CSS 样式。
  • @sbking 没错,html 也不同,所以它是不同的布局。是否可以在 Meteor 应用程序中动态加载不同的布局?换句话说,例如说一组路由来加载特定的布局、css、UI js 和一组路由来加载另一个特定的布局、css 和 UI js 文件?

标签: meteor


【解决方案1】:

您应该能够使用使用 Iron:router 包的控制器来实现您正在寻找的东西。

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'
});

然后只需使用不同的 css、js 等创建单独的模板。

您可以在此处阅读有关该软件包的更多信息:Iron Router

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多