Meteor RangeError: Maximale Call-Stack-Größe überschritten. auf Tastendruck-Ereignis

8

Ich versuche, ein Suchfeld zu erstellen, um die Ergebnisse meiner zurückgegebenen Sammlung im Client zu filtern.

Wenn ich jedoch versuche zu suchen, bekomme ich den obigen Fehler in der Konsole.

%Vor%

Hier ist ein Blick auf meinen Code.

%Vor%

mein Suchformular in der Modulvorlage

%Vor%

und meine customers_list-Vorlage, die ich versuche, die Ergebnisse zu filtern

%Vor%

und hier ist der Event-Handler für das Suchformular

%Vor%

und der Formularhelfer zeigen die Ergebnisse an

%Vor%

Ich habe keine Ahnung, was den Fehler verursacht, was ich in anderen SO-Posts über den Fehler gelesen habe. Es scheint, als wäre es eine Endlosschleife, aber das waren keine meteorspezifischen Fragen und ich weiß nicht, ob das der Fall wäre Einen Unterschied machen? Auch wenn es eine Endlosschleife gibt, kann ich sie nicht finden.

jede Hilfe wäre dankbar.

    
Moshe 25.06.2013, 19:58
quelle

2 Antworten

6

Dies ändern:

%Vor%

Zu diesem:

%Vor%

Ich glaube, Sie brauchen nur die .val () auf der jquery dom Referenz des Eingabefeldes. Zusätzlich würde ich empfehlen, keyup für das Ereignis für so etwas zu verwenden.

Um die Ergebnisse wie gewünscht zu erhalten, möchten Sie wahrscheinlich einen regulären Ausdruck verwenden. Hier ist, was ich in meiner App verwende.

%Vor%     
user2421382 26.06.2013, 05:55
quelle
18

Dieser Fehler tritt auf, wenn Sie ein großes Objekt als Argument an Ihre Methode übergeben. Für mich zum Beispiel das erste Mal, als ich diesen Fehler fand, war, als ich ein Meteor.Collection als Argument übergeben: s. Ich habe daran gearbeitet, indem ich den Sammlungsnamen als String übergeben und dann in den Methoden eval() verwendet habe, um die Sammlung zu erhalten, auf der fortgefahren wird.

Schlussfolgerung: Verwenden Sie immer Strings, Integer, kleine Arrays oder wirklich kleine Objekte als Argumente für Methoden, die von Ihren Event-Handlern aufgerufen werden.

    
svassr 09.09.2013 04:28
quelle

Tags und Links