2012-09-04 4 views

risposta

1

Per ragioni di completezza: è anche possibile utilizzare

Template.registerHelper('helper', helperFunc); 

invece di Handlebars.regsterHelper('h',f);

Una piccola ragione per questo è meglio è che allora la vostra applicazione non avrà bisogno di tanto refactoring se si decide da qualche parte lungo la strada che si desidera utilizzare qualcos'altro invece di Handlebars (cioè Spacebars, il vero nome dell'adattamento di meteore) come jade for meteor.

Questo è davvero un commento allo accepted answer. In attesa di un giorno ha colpito 50 rep.

+0

L'API di Meteora è cambiata e sembra che per ora dovrebbe essere come hai detto tu. – zVictor

4

Assicurarsi di registrare il proprio helper in un codice meteorico client (o condiviso).

Handlebars.registerHelper('helper', function() { 
    // Do stuff 
}); 

Questo dovrebbe essere richiamabile tramite {{helper}} nei vostri modelli.

6

In Meteor 0.4.0 si registra gestori in questo modo:

Template.myTemplate.helpers({ 
    helper: function() { 
    // some code here 
    console.log(arguments); 
    } 
}); 

Non v'è alcun bisogno di chiamare direttamente manubrio.

14

Questa è la funzione di supporto che uso per il debugging nei miei progetti:.

Template.registerHelper("debug", function(optionalValue) { 
    console.log("Current Context"); 
    console.log("===================="); 
    console.log(this); 

    if (optionalValue) { 
    console.log("Value"); 
    console.log("===================="); 
    console.log(optionalValue); 
    } 
}); 

È quindi possibile chiamare nel tuo template con {{debug}} e visualizza il contesto nella quale sei saperne di più su http://docs.meteor.com/#/full/template_registerhelper.

+0

snippet eccellente, tuttavia, immagino che Meteor raccomandi la notazione 'Template.myTemplate.helpers'. – zVictor

+0

sì, ma poi sarà disponibile solo in quel modello specifico, credo che sia –

+0

Sì. Preferisco usare la tua risposta, a causa di ciò, ma suppongo che l'altra notazione sia * giusta *. – zVictor