hoCambio valore della variabile reattivo in gancio in Meteor
Template.templateName.onCreated(function() {
this.variableName = new ReactiveVar;
this.variableName.set(true);
});
in templateName
ho un autoform
. Devo impostare la variabile reattiva variableName
a false
quando viene inviato il numero autoform
.
ho cercato
AutoForm.hooks({
myForm: {
onSuccess: function(operation, result) {
this.variableName.set(false);
},
}
});
ma non funziona in quanto this.
non si riferisce al modello templateName
come fa in aiutanti ed eventi. Avrebbe funzionato se avessi usato le sessioni, poiché queste non sono limitate/mirate a modelli specifici.
Cosa posso fare per modificare la variabile reattiva in un gancio di autoformata?
Ho anche provato
AutoForm.hooks({
myForm: {
onSuccess: function(operation, result) {
this.template.variableName.set(false);
this.template.parent.variableName.set(false);
this.template.parent().variableName.set(false);
this.template.parentData.variableName.set(false);
this.template.parentData().variableName.set(false);
this.template.parentView.variableName.set(false);
this.template.parentView().variableName.set(false);
},
}
});
Quando si utilizza console.log(this.template)
lo fa stampare un oggetto. Se uso console.log(this.template.data)
ricevo
Object {id: "myForm", collection: "Meteor.users", type: "update", doc: Object, validation: "submitThenKeyup"…}
Io uso la variabile reattivo variableName
per determinare se sia mostrare la forma modificabile o la bella presentazione dei dati per l'utente. Forse c'è un altro modo migliore per farlo.
Ho affrontato lo stesso scenario ma l'ho risolto usando 'Session' e' autorun'. E "onDestroyed" di quel template, renderò la 'Session' come' null' ... Aspettando di conoscere qualsiasi altro modo migliore per risolvere questo ... Thumps Up! – iamhimadri
@Jamgreen, i codici 'Template.templateName.onCreated' e' AutoForm.hooks' si trovano sullo stesso file? –
Hai provato a usare 'Template.instance(). VariableName' nel tuo hook? – SylvainB