Мне нужен способ избежать бесполезных вычислений; В реактивных функций, у меня есть реактивный объект, мне просто нужно одно свойство, но если один другой из этого изменения объекта, все функции пересчитывается:Meteor.js: Как избежать бесполезного обновления/вычисления/повторной обработки с помощью точечной нотации
Template.registerHelper('name', function() {
console.log("running");
return Meteor.user().profile.name;
});
(в HTML
<body><p>My name: {{name}}</p></body>
)
Теперь изменить свой возраст:
Meteor.users.update({_id:Meteor.userId()},{$set:{"profile.age":20}});
вы предполагаете, что вы видите в консоли (во второй раз ...)
running x2
, но он должен работать только один раз, потому что имя не изменилось
Почему это важно? В моем приложении у меня сложный расчет, а пользовательский статус онлайн/бездействия легко меняется
Это хорошая идея всегда делать это? Потому что я создал фоны, чтобы сделать это легко, и я опубликую его в пакете –
Чтобы ответить, очень спасибо! Я также узнал, что использование массива реактивного объекта в шаблоне - это действительно плохая идея –