Я новичок в метеор, и я пытаюсь повесить всю реакционную вещь.Почему эта функция не работает, когда реактивная переменная меняет значение?
Не существует особой причины, по которой я хочу, чтобы эта функция повторно запускалась, на самом деле она не повторяет работу, на самом деле является желаемым поведением для моего варианта использования. Я просто хочу знать, почему это происходит, поэтому я могу лучше понять понятия.
Если добавить функцию в качестве свойства на экземпляре шаблона, например:
Template.services.onCreated(function() {
this.templates = [
"web_design",
"painting",
"gardening"
];
this.current_index = new ReactiveVar(0);
this.determineSlideDirection = function() {
console.log(this.current_index.get());
};
});
А потом я обновляю реактивный вар в ответ на какое-то событие.
Template.services.events({
'click .nav-slider .slider-item': function(event, template) {
var new_selection = event.currentTarget;
template.current_index.set($(new_selection).index());
}
});
Функция не повторно запустить на вызове set()
вызова.
Однако, если у меня есть помощник , который использует переменную, он будет повторно запущен.
Template.services.helpers({
currentTemplate: function() {
var self = Template.instance();
return self.templates[self.current_index.get()];
}
});
Почему это?
'Tracker.autorun' также обычно тупик как «Tracker.autofun», потому что он дает лет u автоматическое FUN! – fuzzybabybunny