2016-01-26 136 views
5

Ho provato ad inserire i contenitori <div> attorno a {{#each}} ma non ha funzionato altrettanto bene. È anche strano perché funziona per 2 normali pagine di elenco di post, ma non per il 3 ° che li ordina in base alla distanza.Errore: impossibile eseguire 'insertBefore' su 'Node'

Aggiornamenti: ho notato che dopo che ho cambiato il modello JS da template.name.onRendered al onCreated, la pagina di ordinamento funziona. Tuttavia funziona solo se si passa da una precedente pagina di elenco dei post e non dalla pagina del profilo.

L'unico motivo comune delle pagine di errore è che quelle pagine utilizzano publishComposite per l'ordinamento. Potrebbe essere questo il problema dal momento che publishComposite ha una relazione da figlio a genitore?

Il messaggio di errore

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) 

Il file js meteoric_ionic di cui alla linea 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;                           
     } 

il codice HTML relativo

{{#ionView}} 
    {{#ionContent}} 
     {{#ionList}} 
      <div> 
       {{#each shops}} 
        {{> shopItem}} 
       {{/each}} 
      </div> 
     {{/ionList}} 
    {{/ionContent}} 
    {{/ionView}} 
+0

C'è un [problema simile in un'altra domanda] (https://stackoverflow.com/questions/28775611/meteor- eccezioni-in-coda-task-error-non è riuscito a eseguire il-removeChild-on-cenno del capo). Potresti provare. –

+0

Ho fatto, ha rimosso alcuni errori ma il problema principale è irrisolto. L'ho menzionato all'inizio del mio post. – Thinkerer

+0

[Questo] (https://github.com/meteor/meteor/issues/2373) potrebbe aiutarti. – Hans

risposta

3

Prova questo e fammi sapere:

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')); 
    } 
    }); 
}); 

Farò spiegazione se questo lavoro

+0

Speravo che gli upvotes avrebbero promesso bene, ma non funziona ancora per me. Qualche altro suggerimento su cosa dovrei modificare? L'idea è solo per ottenere la posizione corrente quando faccio clic su questa scheda. – Thinkerer

+0

@Thinkerer puoi pubblicare questo file: 'meteoric_ionic.js? E45c114e85716d9fad8bac1cd7904ae2700bc963: 5750: 19' ho cercato dal codice ma non sono riuscito a trovarlo. Sembra che tu stia usando un pacchetto deprecato. – asingh

+0

Sospetto che questo sia collegato al packagae. Ti suggerisco di aprire un numero – asingh

Problemi correlati