2014-07-12 4 views
0

J'ai une liste de noms de formulaires et une liste de formulaires. Lorsqu'un utilisateur clique sur un nom de formulaire, je souhaite afficher uniquement les formulaires correspondant au nom sur lequel vous avez cliqué. Je passe le nom du formulaire sur clic mais je n'arrive pas à comprendre comment mettre à jour la liste des formulaires affichés en fonction de cela. Comment mettez-vous à jour le modèle dans un filtre?Mettre à jour le modèle à partir du filtre

JS

App.PatientFormsController = Ember.ArrayController.extend 
    actions: 
    filterForms: (name)-> 
     @get('model').filterBy('name', name) 

HTML

<h2>Form Types</h2> 
<div id='form-names'> 
    <ul> 
    {{#each formTypes}} 
     <li> 
     <a href="*" {{action 'filterForms' name on='click'}}>{{nameFormatted}}</a> 
     </li> 
    {{/each}} 
    </ul> 
</div> 

<h2>Forms</h2> 
<div id="patient-forms"> 
    {{#each}} 
    <b>{{name}}</b><br /> 
    {{/each}} 
</div> 

Répondre

0

Je l'ai travailler avec les éléments suivants:

JS

App.PatientFormsController = Ember.ArrayController.extend 
    init: -> @set 'filteredForms', @get('model') 
    actions: 
    filterForms: (name)-> 
     @set 'filteredForms', @get('model').filterBy('name', name) 

HTML

<h2>Form Types</h2> 
<div id='form-names'> 
    <ul> 
    {{#each formTypes}} 
     <li> 
     <a href="*" {{action 'filterForms' name on='click'}}>{{nameFormatted}}</a> 
     </li> 
    {{/each}} 
    </ul> 
</div> 

<h2>Forms</h2> 
<div id="patient-forms"> 
    {{#each filteredForms}} 
    <b>{{name}}</b><br /> 
    {{/each}} 
</div> 
Questions connexes