我目前在我的项目中有两个可能的用户,即雇主和候选人。
var User = new Schema({
role:String
});
我的把手页面上有一些我想隐藏的元素,具体取决于登录用户。这些元素只是字体很棒的图标和按钮。有没有办法用帮助器或其他东西做这个?或者也许jQuery我不确定,我使用Passport.js作为我的登录系统。
猜测你渲染页面并注入“用户”变量,这很容易做到。
如果语句为true,则可以使用if语句呈现代码块
I found this link that explains it really well.
Here's a complete answer that should help you do what you want to do.(这是它说:)。
最简单的方法是添加一个自定义的if_eq帮助器:
Handlebars.registerHelper('if_eq', function(a, b, opts) {
if(a == b) // Or === depending on your needs
return opts.fn(this);
else
return opts.inverse(this); }); and then adjust your template:
{{#if_eq this "some message"}}
... {{else}}
... {{/if_eq}}
但是:ぁzxswい
如果您的错误条目不是简单的字符串,那么您可以向它们添加“这是一些消息”标志并使用标准{{#if}}(请注意,直接向字符串添加属性将无法正常工作):
for(var i = 0; i <errors.length; ++ i)errors [i] = {msg:errors [i],is_status:errors [i] ==='some message'};和:
http://jsfiddle.net/ambiguous/d4adQ/
但是:ぁzxswい
使用Elving的{{#if is_status}}
<li>Status</li> {{else}}
<li>{{msg}}</li> {{/if}}
,你可以使用助手http://jsfiddle.net/ambiguous/9sFm7/和Swag Handlebars helpers library。单击文档的链接
是
如果条件为真,则有条件地渲染块。
参数:
is
用法:
isnt
心不是
如果条件为假,则有条件地渲染块。相反的是。
参数:
value [string|int] - the value to test against.
用法:
number = 5
{{#is number 5}}
Kiss my shiny metal ass!
{{else}}
Never mind :(
{{/is}}
=> Kiss my shiny metal ass!
value [string|int] - the value to test against.
要记住这一点,只有当角色是字符串时才会起作用。