У меня есть форма, которую я отправляю (и используя реактивный вал для изменения вывода в представлении на submit). Всякий раз, когда я представляю успешно я получаю эту зловещую ошибку:Uncaught RangeError: Максимальный размер стека вызовов превышен. Meteor.js form
Uncaught RangeError: Maximum call stack size exceeded
isArguments @ es5-shim.js:888
keys @ es5-shim.js:951
_.each._.forEach @ underscore.js:111
EJSON.clone @ ejson.js:500
(anonymous function) @ ejson.js:501
_.each._.forEach @ underscore.js:113
EJSON.clone @ ejson.js:500
(anonymous function) @ ejson.js:501
_.each._.forEach @ underscore.js:113
EJSON.clone @ ejson.js:500
У меня есть два обработчика событий в someview.js:
Template.inquiry.events({
'click .submit': function(event, template) {
var $form = template.$('#request-form');
if ($form.valid()) {
template.showForm.set(false);
Meteor.setTimeout(function() {
template.showForm.set(true);
}, 10000); // Reset after 10 seconds.
}
},
});
Template.inquiry.events({
'submit form': function(event) {
event.preventDefault();
var name = event.target.name.value;
var email = event.target.email.value;
UserList.insert({
name: name,
email: email
});
}
});
и помощника, чтобы захватить начальную reactiveVar (ShowForm):
Template.inquiry.helpers({
//toggles 'thank you' on inquiry template
showForm: function() {
return Template.instance().showForm.get();
},
});
Почему я получаю эту ошибку?
Спасибо. Как в стороне, нормально ли это в клиенте/views/thisview.js? Или я должен переместить эту логику в другом месте (только для лучших практик). – user1072337
Я обычно помещаю все вещи, относящиеся к шаблону, в 1 файл для упрощения управления. –
. Сохраняете ли вы этот файл js в той же папке, что и сам вид/шаблон? – user1072337