是否可以在灰尘中包含可选的部分?比方说,我这样定义一个布局:DustJS中的可选部分
<div>
{>"{module}"/>
</div>
我一直在定义快捷的res.locals
对象模块。但是,如果我忘了定义一个模块,或者我实际上想要一个默认模块供我使用时没有定义模块呢?更糟糕的是,如果我定义了一个,但它是不正确的模块,那意味着视图文件夹中没有模板文件,并且该模块的名称是?我不希望用户看到的丑陋的错误消息,这似乎是这样的:
Error: ENOENT, open 'view_path\{module}.dust'
其中{module}
是模块的名称,或者如果我没有指定res.locals.module
一个空字符串。我是否应该使用try-catch块(甚至不知道如何在dust
中执行这些操作),还是有一种使模板可选的方法,而不是必需的? 注意:该模板将是可选的,但module
变量将(通常)仍然是一个字符串。看起来dust
部分是可选的,这意味着如果确切的键不可用,该部分根本不包括在内。例如,说我有上下文{friends: [{name: "Harry"}, {name: "Ron"}, {name: "Hermione"}]}
。如果我定义的部分:
{#friends}
{name} is {age} years old.
{/friends}
它将输出
Harry is years old.
Ron is years old.
Hermione is years old.
公告有在每种情况下,在那里,如果我们定义的任何年龄的age
将is
和years
之间的2个空格。如果包含此功能,那么dust
和LinkedIn
的原创者是不是认为不需要偏分量? 如何在dust
中指定可选的部分?
双空格的东西应该没什么大不了的,因为浏览器只会渲染一个空格。我相信你可以调整句柄代码来添加任何处理你想要的缺失部分。 – jfriend00 2014-10-30 01:41:38
我不打算把这些部分的代码放到我的应用程序中,所以我没有测试它以确保它有2个空格。我只是假设。无论如何,我根本不关心这两个空间,所以它确实是“没什么大不了的”。那只是一个例子。 – trysis 2014-10-30 01:48:43
什么是downvote? – trysis 2014-12-14 04:53:00