J'ai essayé d'insérer des conteneurs <div>
autour de {{#each}}, mais cela n'a pas marché aussi. Il est également étrange car il fonctionne pour 2 pages de listes de messages normales, mais pas pour la 3ème qui les classe par distance.
Mises à jour: j'ai remarqué que, après avoir changé le modèle JS de template.name.onRendered
to onCreated
, la page de tri fonctionne. Cependant, cela ne fonctionne que si vous passez d'une page précédente de la liste des messages et non de la page de profil.
Le seul point commun des pages d'erreur est que ces pages utilisent publishComposite pour le tri. Est-ce que cela pourrait être le problème puisque publishComposite a un parent enfant à parent?
Le message d'erreur
Exception in queued task: Error: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node. at Error (native) at Object.container._uihooks.insertElement (http://localhost:3000/packages/meteoric_ionic.js?e45c114e85716d9fad8bac1cd7904ae2700bc963:5750:19) at DOMRange._insertNodeWithHooks (http://localhost:3000/packages/blaze.js?695c7798b7f4eebed3f8ce0cbb17c21748ff8ba8:383:21) at Function.Blaze._DOMRange._insertNodeWithHooks (http://localhost:3000/packages/peerlibrary_blaze-components.js?4eddb4e3f0f660190548347e680d109a51a7050f:2377:10) at Function.DOMRange._insert (http://localhost:3000/packages/blaze.js?695c7798b7f4eebed3f8ce0cbb17c21748ff8ba8:354:16) at DOMRange.attach (http://localhost:3000/packages/blaze.js?695c7798b7f4eebed3f8ce0cbb17c21748ff8ba8:431:16) at Blaze._DOMRange.attach (http://localhost:3000/packages/peerlibrary_blaze-components.js?4eddb4e3f0f660190548347e680d109a51a7050f:2437:33) at Function.DOMRange._insert (http://localhost:3000/packages/blaze.js?695c7798b7f4eebed3f8ce0cbb17c21748ff8ba8:349:7) at DOMRange.attach (http://localhost:3000/packages/blaze.js?695c7798b7f4eebed3f8ce0cbb17c21748ff8ba8:431:16) at Blaze._DOMRange.attach (http://localhost:3000/packages/peerlibrary_blaze-components.js?4eddb4e3f0f660190548347e680d109a51a7050f:2437:33)
Le fichier js météorique_ionique fait référence à la ligne 19
container._uihooks = { insertElement: function(node, next) { var $node = $(node); if (!template.transition || !$node.hasClass('view') || IonNavigation.skipTransitions) { container.insertBefore(node, next); //line 19 return; }
Le html pertinent
{{#ionView}} {{#ionContent}} {{#ionList}} <div> {{#each shops}} {{> shopItem}} {{/each}} </div> {{/ionList}} {{/ionContent}} {{/ionView}}
Essayez ceci et faites-moi savoir:
Template.nearShops.onCreated(function () { var self = this; self.autorun(function () { self.interval = Meteor.setInterval(function(){ var currentLocation = Geolocation.latLng() || ''; if(currentLocation) { Session.set('lat', currentLocation.lat); Session.set('lng', currentLocation.lng); } }, 2000); }); self.autorun(function(){ if(Session.get('lat')) { self.subscribe( "nearShops", Session.get('lng'), Session.get('lat') ); } }); });
Je vais expliquer si ce travail