6
votes

Variable réactive pour capturer l'entrée utilisateur (météore)

J'essaie toujours d'envelopper ma tête autour du modèle de programmation réactif à Meteor, c'est probablement une question idiote, mais:

puis-je utiliser le système de modèle pour extraire des données, plutôt que "injecter", comme il est documenté. C'est-à-dire que j'ai une textaree comme si tellement xxx

est alors possible d'avoir accès au champ du projetDescription en tant que source de données réactive, telle qu'elle était? Je n'ai eu nulle part avec template.project.projectdescription à la replace, mais comme je le disais, je suis nouveau dans ce jeu.

Si ce que je propose est impossible, quelle est l'approche idiomatique? Comme, où voudrais-je mettre mon xxx

est une carte d'événement sur le modèle de la manière dont cela a été conçu pour être effectué? Le fait de cela est de, dire, valider qu'une entrée est unique (une question de serveur) ou faire sur-la mouche MKDN (comme se produit actuellement comme je tape ...). Mais surtout, j'essaie d'avoir une sensation de météore.


0 commentaires

3 Réponses :


2
votes

Meteor n'offre pas le type de liaison bidirectionnelle que vous avez peut-être rencontrée dans certains cadres. Il peut y avoir des packages intelligents là-bas pour aider à cela, mais la voie à la vanille est de lier des événements sur des éléments DOM:

Template.xyz.events({
    "keyup #desc": function (evt, template) {
        Session.set("projectDescription", evt.currentTarget.value);
    }
});


0 commentaires

6
votes

La réactivité n'est qu'une solution, vous pouvez toutefois enregistrer un événement sur le modèle pour attraper l'événement de clé qui pourrait alors définir une variable de session. Les variables de session sont des sources de données réactives afin que vous puissiez ensuite utiliser la variable et une aide de modèle pour créer votre réactivité dans une autre partie de votre modèle.

À titre d'exemple: P>

Template.project.events({
  "keydown #desc": function (event) {
     var value = $(event.target).val();
     Session.set("projectDescription", value);
  }
});

Template.project.helpers({
  projectDescription: function () {
    var projectDescription = Session.get("projectDescription");
    //do processing
    return projectDescription;
  }
});


4 commentaires

fèves fraîches. C'est à peu près ce que j'ai mis en œuvre depuis la pose de la question. Il est encourageant de voir que je suis moins confus que j'avais pensé!


Oui, je dois admettre que Meteor peut être déroutant au début, puis vous aurez ce moment où tout cela a tout de sens ..


J'ai aussi personnellement recommandé le livre Discover Meteor .. peu cher pour un livre électronique, mais il y a beaucoup de conseils et d'astuces pour travailler avec météore que vous ne trouvez pas facilement nulle part ailleurs.


Merci beaucoup! Ça commence à s'additionner. Je pense que les Docs comme ils se tiennent maintenant présument un peu trop de familiarité avec certains modèles de développement Web, mais j'imagine que cela changera comme le cadre mûrie.



0
votes

the Session-Bind Revendication de l'emballage de l'emballage à faire juste que: Bidon à deux voies Liant à la session variables. Je suis surpris qu'il n'y ait pas d'autre "entrée réactive" sur l'atmosphère qui fait cela. < / p>


0 commentaires