在 FlowRouter 中定义默认渲染模板的好方法

2024-02-16

当迁移到一个用 Flow-Router 替换 Iron-Router 的新 Meteor 项目时,我真的很怀念 Iron-Router 定义全局可用的默认行为和设置的功能。

我知道 Flow-Router 使用“组”构造来定义默认挂钩事件,这些事件可以应用于附加到该组的任何路由,但似乎没有任何可用于定义默认模板。

实现这种类型的默认全局或组模板功能的最佳方法是什么?


我决定使用一个简单的抽象来模拟 Iron-Router 的此功能。在我考虑在 FlowRouter 本身中更直接地集成此类功能之前,我正在尝试评估这是否是一个合理且可扩展的模式,并与正在寻找类似解决方案的其他人分享这个想法。

我只是创建了一个对象,该对象用作参数对象模板,该模板根据需要进行修改,然后在调用 BlazeLayout.render 时传递。

这是什么routes.js可能看起来像:

var appRouteGroup = FlowRouter.group({
  name: "appRouteGroup",
  triggersEnter: [sometrigger]
});

var appRouteTemplates = {
  menuMain: "appNav",
  footerMain: "appFooter"
};

appRouteGroup.route("home", {
  name: "home",
  action: function () {
    // We get the default templates
    var templates = appRouteTemplates;

    // Now we can add the route specific template
    templates.content = "homePage";

    // Then render with templates passed through the object param
    BlazeLayout.render("mainLayout", templates);
  }
});

然后,这将允许您渲染默认组模板,而无需为每个路由重新定义它们。并使用模板标记如下:

<template name="mainLayout">
  {{>Template.dynamic template=menuMain}}

  {{>Template.dynamic template=content}}

  {{>Template.dynamic template=footerMain}}
</template>

我正在寻找一种方法来在 FlowRouter 中进行更直接的集成,但这似乎功能完美。有什么改进的想法吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 FlowRouter 中定义默认渲染模板的好方法 的相关文章

随机推荐

  • 嵌套异常是 java.sql.SQLException:无法为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序 - Spring MVC JNDI 问题

    我正在开发 SpringMvcJndiDataSourceXML 示例 在此示例中 我面临以下错误 我找到了很多链接 但没有一个对我有用 虽然这是重复的问题 但我仍然想得到以下问题的答案 请指导 org springframework jd
  • javascript 命名函数表达式 - 范围可访问性[重复]

    这个问题在这里已经有答案了 我正在跟进John Resig 的 JS 忍者秘密幻灯片 http ejohn org apps learn 11我发现了一些我不太明白的东西 下面的代码定义了一个命名函数表达式 var ninja functi
  • 如何在KONG中实现外部身份验证?

    我在用着KONG API网关 https konghq com 并且我想将 JWT 身份验证实现为单独的微服务 不使用 KONG 插件 现在我可以轻松地使用 KONG 注册此服务 以便用户可以注册和登录 假设经过身份验证的用户发送了一个请求
  • 将 MS Office Communicator 状态指示器添加到 JSP 中

    我想将 MS Office Communicator 状态指示器添加到我的 Java 应用程序 jsp 中 如果您的目标是 Windows 平台 最简单的方法是在客户端完成所有操作 只要客户端运行 IE Office 2003 或更高版本以
  • 当输入句子没有标点符号时使用的句子分割工具(已标准化)

    假设有一个类似 给我找一些爵士音乐并播放它 的句子 其中所有文本都已标准化并且没有标点符号 语音识别库的输出 除了连接词分割的简单方法之外 还有哪些在线 离线工具可用于进行 句子分割 Input 给我找一些爵士乐并播放 Output 给我找
  • 如何在node.js中生成PDF

    我想生成一个模块 该模块将通过将输入作为我的发票来生成 PDF 并且该 PDF 文件会自动发送给客户的邮件 ID 在第一步中 我得到了一些代码并尝试生成 PDF 该代码工作正常 我能够生成 PDF 但我无法打开该文件 对于代码 我使用此链接
  • 调试应用程序中的巨大内存泄漏

    我的应用程序刚刚泄漏了 1 5GB 内存 我想因为我没有大量可用的数据 所以我假设它泄漏了内存 但它也可能只是保留它 我目前正在使用 perfmon 收集尽可能多的信息 以尝试了解可能导致问题的原因 目前我没有太多线索 希望能从这里的人们那
  • 检查xml节点是否存在?

    我想检查给定的节点是否存在 xml文件 我尝试 string language node SelectSingleNode language null node SelectSingleNode language Value en en U
  • NetBeans + 多个 php 版本 + 没有 PEAR 的 phpUnit

    我的问题有点复杂 我在 IIS 上有多个 php 版本 每个php项目都有自己的php版本和域名 例如 www webshop loc 我正在通过NetBeans开发项目 并且我想使用TDD作为开发过程 我的问题是 如何在不安装 PEAR
  • .NET core 使用 Xunit + Autofixture + Moq 编写更好的单元测试

    在 NET Core 中进行单元测试 我使用 Xunit Moq 和 Autofixture 但即使有了它们 我发现我的单元测试变得复杂并且需要时间 也许有人可以告诉我是否有任何方法可以缩小这个测试的规模 Fact public async
  • Angular:$broadcast 和 $emit 按值或引用发送消息对象?

    给出以下代码 var msg field1 val1 field2 val2 more fields scope broadcast EventName msg 事件消费者接收到一个指向msg或副本 事件消费者接收一个指针到事件数据 例如
  • HTML 中是否还有其他有用的空白代码,例如用于半空格、全空格、全空格等的  ?

    想知道是否还有其他代码可用于 HTML 新闻通讯 我会使用单元格填充或边距 但我对 HTML CSS 很陌生 我找不到确实影响主标题行及其下方子标题的更改 作为一封电子邮件 我很犹豫是否要使用 CSS 来实现它 因为我不知道电子邮件客户端不
  • PHPMailer 安全吗

    我知道这可能不是一个简单的问题 但我正在开发几个 Web 表单 并且想要一个 PHP 库 我可以用它来发送邮件并让它自动清理数据 我正在查看 PHPMailer 它看起来设置起来非常简单 PHPMailer 是一个安全库 可用于防止我的表单
  • 在 IE 中打印 iframe

    我有一个按钮 可以将要打印的报告加载到 div 内的 不可见 iframe 中并打印该 iframe 用户按下按钮即可打印报告 包含在不同的页面上 除了打印对话框之外 无需更改页面或任何视觉干扰 它适用于 Chrome 和 Firefox
  • 如何使用php获取昨天的日期?

    我想在 php 中使用特定日期格式获取昨天的日期 格式如下 today date d m Y 15 04 2013 是否可以 如果应分别更改 请考虑月份和年份 就这样吧 date d m Y strtotime 1 days 如果月份发生变
  • 使用表单事件检测数据更改

    如果您阅读了我最近提出的其他问题 您可能会发现我不是reallyAccess 开发人员 我的大部分背景都是 VB 在那里我刻意避免绑定控件 现在我在 Access 2007 中工作 我有一个基于表 嗯 单表查询 的表单 以及一个基于一对多子
  • http.Server — 获取 URL 片段

    提取片段数据没有运气 foo in http domain com path foo http domain com path foo 与标准http Server package main import fmt net http type
  • Nodejs 数据结构在设计上是线程安全的吗?

    在node js相关的Web文档中读到它是一个单线程服务器 因此 我很困惑节点服务器中的所有数据结构是否默认都是线程安全的 我有多个回调访问全局对象 如下所示 callback1 global var key val callback2 g
  • 为什么负数对向量大小取模不会得到负数? [复制]

    这个问题在这里已经有答案了 include
  • 在 FlowRouter 中定义默认渲染模板的好方法

    当迁移到一个用 Flow Router 替换 Iron Router 的新 Meteor 项目时 我真的很怀念 Iron Router 定义全局可用的默认行为和设置的功能 我知道 Flow Router 使用 组 构造来定义默认挂钩事件 这