有很多个人功能可以让这很容易,但我不是要求具体的功能,而是从实际目标开始。
我在nodejs上启动dust.js,使用mergeate链接它...我计划从一开始就设置模板,以支持部分渲染和客户端渲染......看起来很聪明!
但我在index.tt:
的顶部有这个部分渲染{>layout layout/}
它工作得很好,给了我一个html包装器...但是它似乎应该让我设置一个将覆盖它的变量,或者不渲染那个部分,或渲染像" no_layout"它是一个直接的部分。
如果我使用" {layout}"相反,只要我确保每个runmode明确设置layout="layout"
,我就没问题。
如果dustjs有价值违约的概念,那我就没事了......但是我试过了,看起来节点必须做那个部分(包含if语句似乎没有工作,也没有内联||
)。
如果dustjs允许我有条件地运行dustjs代码,我会很好......但看起来所有的@if语句都是关于渲染的。
我知道我们希望保持关注的分离,这就是我首先要使用dustjs的原因......这对我来说似乎应该是一个视角方面的问题,当它发生时以99%的时间以默认方式。
这是我现在的代码(除了layout.dust,这并不重要):
index.dust:
{>layout "{layout}"/}
{<main}
Welcome to {title}
{/main}
{/profile}
index.js:
exports.index = function(req, res){
res.render('index', { title: 'Express',layout: "layout" });
};
就像我说的那样,它有效...但它让人觉得hacky让我让控制器明确地告诉视图&#34;正常渲染&#34;。
答案 0 :(得分:0)
我想我会得出这样的结论:这是不可能的,并且因为“大公司正在捡起它”,因此选择它的用户很少,这是一个坏主意。
这是猜测,但我认为这个问题的答案是没有人想到这种明显的情况。