¿La mejor manera de evitar que se vuelva a ejecutar un asistente de plantilla cuando no es necesario?
Estoy tratando de evitar que se vuelva a ejecutar un asistente de plantilla cuando no es necesario. Hice una aplicación simple para ilustrar este comportamiento:
Digamos que quiero mostrar algunos elementos que contienen solo un título y una descripción.
<template name="Tests">
{{#each items}}
{{> TestsItems}}
{{/each}}
</template>
<template name="TestsItems">
<div class="title">{{title}}</div>
<div class="description">{{description}}</div>
</template>
Tengo la publicación automática habilitada.
Template.Tests.helpers({
items: function () {
return Items.find();
}
});
Template.TestsItems.helpers({
description: function () {
// I'm using this helper to do some updates
// on a jQuery plugin when the description field change.
// see example 1: https://github.com/avital/meteor-ui-new-rendered-callback/
console.log("The description is run");
return this.description;
}
});
Cuando se realiza una nueva actualización solo en el campo de título, puede ver que se vuelve a ejecutar el asistente de descripción. Lo que intento lograr es volver a ejecutar este asistente solo cuando hay un nuevo valor para el campo de descripción y no cada vez que un campo ha cambiado en el documento.
Como {{#constant}} y {{#isolate}} están en desuso, ¿cómo puedo obtener este comportamiento en las últimas versiones de Meteor?
Nota 1: Crear una nueva sub-plantilla que incluya la descripción no soluciona el problema.