2012-04-11 12 views
9

Estoy probando el ejemplo de Leaderboard en Meteor pero estoy haciendo algo mal al configurar el evento click. En este ejemplo, tengo tres botones, uno para cambiar el orden por columna, otro para agregar 5 puntos de bonificación a todos.Configuración de eventos simples en meteor

Aquí está el html:

<div id="outer"> 
    {{> sorter}} 
    {{> leaderboard}} 
    </div> 
    <template name="sorter"> 
    <span>Sorted by {{sortedBy}}</span> 
    {{#if sortByName}} 
    <input type="button" id="sortScore" value="sort by score" /> 
    {{else}} 
    <input type="button" id="sortName" value="sort by name" /> 
    {{/if}} 

    <input type="button" class="incAll" value="5 bonus points to all" /> 

</template> 

y aquí está la JS:

Template.sorter.events = { 
'click #sortName': function(){ 
    Session.set('orderby', 'name'); 
}, 
'click #sortScore': function(){ 
    Session.set('orderby', 'score'); 
}, 
'click input.incAll': function(){ 
    Players.find().forEach(function(player){ 
     Players.update(player._id, {$inc: {score: 5}}); 
    }); 
} 

}

Calling Session.set ('OrdenarPor', 'nombre'); en la consola funciona y actualiza el html en consecuencia, pero al hacer clic en los botones no. Entonces, ¿qué me estoy perdiendo?

, gracias

Respuesta

15

mapas de eventos con los selectores no coincidirán con elementos de nivel superior en una plantilla. Esto es algo que solucionaremos lo antes posible.

Sin embargo, hay una solución fácil. Envuelva su plantilla clasificador en un <div>.

http://docs.meteor.com/#eventmaps

+8

Cualquier idea si esto se ha solucionado todavía? –

+4

Sí, se ha solucionado (para otros que buscan esta pregunta) – PRB

Cuestiones relacionadas