2015-05-20 1 views
1

У меня есть следующие в моем руле тег:Как показать/скрыть HTML элементы в рули с помощью условного оператора

{{#editmode mode}} 

    <div class="form-group login-input"> 
     <i class="fa fa-key overlay"></i> 
     <input type="password" class="form-control text-input" name="password" placeholder="Password" value="{{password}}"> 
    </div> 

    <div class="form-group login-input"> 
     <i class="fa fa-key overlay"></i> 
     <input type="password" class="form-control text-input" name="password_confirmation" value="{{password}}"> 
    </div> 

{{/editmode}} 

и я следующие зарегистрированы как мой вспомогательной функции:

Handlebars.registerHelper('editmode', function(mode){   
    return mode == 'edit' ? true : false; 
}); 

объект, перенесенный в шаблон ручек, выглядит примерно так:

{ 
    firstname: 'Test', 
    lastname: 'Test lastname', 
    mode: 'new 
} 

Так что в принципе, когда переменная «mode» является «новой», я хочу показать поля пароля, иначе скрыть их, но сейчас они всегда скрыты. Есть идеи?

ответ

1

Я понял. Это сделал трюк:

Handlebars.registerHelper('editmode', function(mode, options){      
    return mode == 'edit' ? '' : options.fn(); 
}); 
0

Вы можете использовать заявление if.

<div class="form-group login-input"> 
    <i class="fa fa-key overlay"></i> 
    <input type="password" class="form-control text-input" name="password" placeholder="Password" value="{{password}}"> 
</div> 

{{#if mode}} 
<div class="form-group login-input"> 
    <i class="fa fa-key overlay"></i> 
    <input type="password" class="form-control text-input" name="password_confirmation" value="{{password}}"> 
</div> 
{{/if}}