javascript - FlowRouter BlazeLayout - 省略模板

标签 javascript meteor meteor-blaze

我正在使用 FlowRouter 并在 docs of FlowRouter BlazeLayout 中它说:

Likewise you can create multiple templates and switch between each other. But when you are changing the layout, whole UI will get re-rendered again.

So, it's a good idea to use a few layouts if possible.

问题:由于我在控制台中没有收到任何错误:当我使用所有模板组件声明布局并且每个路由仅设置我需要的布局时,这可以还是“不好的做法” ?

示例:

<template name="layout">
    {{> Template.dynamic template=nav1}}
    {{> Template.dynamic template=nav2}}
    {{> Template.dynamic template=main}}
    {{> Template.dynamic template=nav3}}
    {{> Template.dynamic template=footer}}
</template>

// routes.js
publicRoutes.route('/', {
    name: "index",
    action: function(params, queryParams) {
        BlazeLayout.render('layout', {
            nav1: "nav1",
            main: "index",
            footer: "footer"
        });
    }
});

最佳答案

我认为唯一需要您的解决方案的情况是您的模板组件在不同的 DOM 元素内呈现。

如果每个模板组件无论如何都在同一个 DOM 节点中渲染,那么似乎没有必要全部指定它们,而不是仅仅使用 nav: "navX"动态确定要渲染的模板组件而不是 navN: "navN" 并且只有单个模板组件 {{>Template.dynamic template=nav}}

我确实发现 Flow-Router 缺少一些更灵活的模板或路由组默认模板定义。

关于javascript - FlowRouter BlazeLayout - 省略模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36529416/

相关文章:

php - 如何使用php在谷歌地图中按位置显示多个区域

javascript - 语义 ui 形式

javascript - 有没有办法使用meteor SimpleSchema + Autoforms 重用模板将数据存储到不同的相同集合中?

javascript - SimpleSchema 匹配除 null 之外的任何类型

javascript - meteor 页面加载后单独加载部分页面

javascript - Meteorjs Template.foo() 不起作用

javascript - 如何通过 id 检索动态数量的元素

javascript - 从开发环境切换到生产环境时使用grun切换HTML元素

javascript - 使用 meteor 中的 Iron Router 动态加载 js 内容,在 return 语句中使用数组

javascript - event.target 在事件中未定义