J'ai lu les docs et regarda la source derrière la réactivité, mais je ne le comprends pas.
Quelqu'un peut m'expliquer comment cela fonctionne en arrière-plan, comme il ressemble à de la magie pour moi :).
J'ai lu les docs et regarda la source derrière la réactivité, mais je ne le comprends pas.
Quelqu'un peut m'expliquer comment cela fonctionne en arrière-plan, comme il ressemble à de la magie pour moi :).
Donc c'est plutôt normal, à un niveau de base il y a 2 types de fonctions:
Des fonctions qui créent un réactif contexte (réactif de fonction)
Fonctions annuler un réactif contexte (invalidation de la fonction)
Les fonctions qui peuvent faire les deux. (J'ai menti, il ya 3)
Lorsque vous appelez un reactive function
il crée un context
que meteor magasins à l'échelle mondiale et à qui l' reactive function
s'abonne à un invalidation
de rappel. La fonction que vous passez à un réactif de fonction, ou toutes les fonctions de l'intérieur, peut être un invalidating function
et peut attirer l'actuel context
et les stocker localement. Ces fonctions peuvent ensuite, à tout moment, comme sur un db de mise à jour ou tout simplement d'une minuterie d'appel, d'infirmer cette context
. L'original de l' reactive function
serait alors de recevoir cet événement et de ré-évaluer.
Voici une étape par étape à l'aide de meteor fonctions:
Deps.autorun(function(){
alert("Hello " + Session.get("name"));
});
Session.set("name", "Greg");
context
context
s'invalidation de l'événement context
, pour la première fois.context
à l'échelle mondiale que l'actif context
reactive function
et invalidating function
context
, et l'associe à l'interne avec la clé "nom" lorsque ces fonctions renvoient, meteor nettoie le contexte actif variable globale
Session.ensemble est une autre fonction capable d'invalider un context
.
context
s créé par Session associée à la clé "nom"contexts
, lors de l'invalidation d'exécuter leur invalidation des rappels. context
s (C'est la conception de la Séance.obtenir et pas ce que l'invalidation de rappel doit le faire) contexts
maintenant exécuter leur invalidation des rappels.context
de nouveau.L'ensemble de la mise en œuvre est en réalité assez simple que le fait de bien, vous pouvez le voir ici:
https://github.com/meteor/meteor/blob/master/packages/deps/deps.js
Et un bon exemple de comment cela fonctionne peuvent être trouvés ici:
https://github.com/meteor/meteor/blob/master/packages/reactive-dict/reactive-dict.js
autoruns mise en œuvre est ici:
https://github.com/meteor/meteor/blob/master/packages/deps/deps.js#L250
Réactif de programmation n'est pas réellement météore ou JS spécifique
vous pouvez lire à ce sujet ici: http://en.wikipedia.org/wiki/Reactive_programming
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.