Sto cercando di creare una casella di ricerca per filtrare i risultati della mia collezione restituita nel client.Meteor RangeError: superata la dimensione massima dello stack di chiamate. sull'evento keypress
tuttavia, quando provo effettivamente a cercare, sto ricevendo l'errore sopra riportato nella console.
RangeError: Maximum call stack size exceeded.
qui è uno sguardo al mio codice.
<body>
{{#isolate}}
<header class="row-fluid">
{{> modules}}
</header>
{{/isolate}}
<div id="main" class="span11">
{{#if currentUser}}
{{#isolate}}
{{> customers_list}}
{{/isolate}}
{{#isolate}}
{{> contacts_list}}
{{/isolate}}
{{/if}}
</div>
</body>
il mio modulo di ricerca in all'interno del template moduli
<template name="modules">
{{templateLogger "modules"}}
<ul id="module_list" class="nav">
{{#each list}}
<li>
<a href="#" id="module_{{_id}}" module_id="{{_id}}" class="module">{{name}}</a>
</li>
{{/each}}
<form><input type="text" id="search"></form>
</ul>
e il mio modello customers_list che sto cercando di filtrare i risultati
<template name="customers_list">
<table class="table">
<tr>
<th>Name</th>
<th>Address</th>
<th>City</th>
<th>State</th>
<th>Zip</th>
<th>Phone</th>
</tr>
{{#each record}}
<tr>
<td>{{name}}</td>
<td>{{address}}</td>
<td>{{city}}</td>
<td>{{state}}</td>
<td>{{zip}}</td>
<td>{{phone}}</td>
</tr>
{{/each}}
</table>
</template>
e qui è la gestore di eventi per il modulo di ricerca
Template.modules.events({
'keypress input#search': function (event) {
Session.set("currentFilter", $('input#search'));
}
});
e la forma di supporto vengono visualizzati i risultati
Template.customers_list.record = function() {
qry = Session.get("currentFilter") || "";
if (qry != "") {
return Customers.find({$or: [ {'name': qry}, {'address': qry}, {'city': qry}, {'state': qry} ] });
} else {
return Customers.find({competitor: null}, {sort: {name: 1}});
};
}
non ho idea di quello che la sta causando questo errore da quello che ero in grado di leggere su altri SO post su l'errore sembra proprio una infinita loop tuttavia quelle non erano domande specifiche per meteoriti e non so se questo farebbe la differenza? anche se c'è un ciclo infinito non riesco a trovarlo.
qualsiasi aiuto sarebbe grato.
Grazie è stato il .val(); mancante – Moshe
Grazie per la regex funziona anche alla grande. – Moshe