Ho provato to understand this post regarding this concept, tuttavia, non riesco a ottenerlo. Ho la seguente configurazione semplice:Come ottenere Meteor.Call per restituire il valore per il modello?
/server/test.js
Meteor.methods({
abc: function() {
var result = {};
result.foo = "Hello ";
result.bar = "World!";
return result;
}
});
/client/myapp.js
var q = Meteor.call('abc');
console.log(q);
Tale struttura torna alla console undefined
.
Se cambio il file myapp.js
a:
Meteor.call('abc', function(err, data) {
!err ? console.log(data) : console.log(err);
}
ricevo il Object
nella mia console.
Idealmente questo è quello che mi piacerebbe essere in grado di fare, ma non funziona, affermando nella console: Cannot read property 'greeting' of undefined
/client/myapp.js
var q = Meteor.call('abc');
Template.hello.greeting = function() {
return q.foo;
}
Qualsiasi aiuto nel passare i dati dall'oggetto server nel modello sarebbe molto apprezzato. Sto ancora imparando JavaScript & Meteor.
Grazie!
Ciao Tom, grazie mille per la vostra risposta rapida! Ho dovuto chiudere la tua funzione Meteor.call con ');' e aggiungere un punto e virgola alla fine della funzione 'Template.hello.greeting' per farlo funzionare (se volessi modificare il tuo codice). Grazie ancora per il vostro aiuto! – rs77
Oh woops, piccoli errori, risposta corretta. Buon divertimento ... :) –
Ciao Tom, domanda veloce - se non ci si aspetta che i dati cambino a lungo termine, c'è un modo per farlo senza dover usare l'oggetto di sessione? Sembra molto dispendioso e prolisso altrimenti, con l'aumentare del numero di variabili. Grazie. –