¿Cómo maneja Meteor los cambios en vivo? Por ejemplo, no quiero que los cambios sean instantáneos, sino con algún tipo de animación. Si colocamos los elementos que se cambian usando css animaciones/transiciones, ¿funciona esto? ¿Qué pasa con las animaciones jQuery para navegadores antiguos?¿Los cambios en vivo de Can Meteor tienen animaciones?
Respuesta
Aquí hay un ejemplo práctico de una animación simple con meteoro.
La situación aquí es que tenemos una lista de elementos. Si el usuario hace clic en alguno de esos elementos, el elemento se animará 20 píxeles a la izquierda.
JS
//myItem
Template.myItem.rendered = function(){
var instance = this;
if(Session.get("selected_item") === this.data._id){
Meteor.defer(function() {
$(instance.firstNode).addClass("selected"); //use "instance" instead of "this"
});
}
};
Template.myItem.events({
"click .myItem": function(evt, template){
Session.set("selected_item", this._id);
}
});
//myItemList
Template.myItemList.helpers({
items: function(){
return Items.find();
}
});
plantillas
<template name="myItem">
<div class="myItem">{{name}}</div>
</template>
<template name="myItemList">
{{#each items}}
{{> myItem}}
{{/each}}
</template>
CSS
.myItem { transition: all 200ms 0ms ease-in; }
.selected { left: -20px; }
En lugar de utilizar CSS de lujo también se puede animar con jQuery:
Template.myItem.rendered = function(){
if(Session.get("selected_item") === this.data._id){
$(this.firstNode).animate({
left: "-20px"
}, 300);
}
};
Pero luego debe eliminar el código CSS.
.myItem { transition: all 200ms 0ms ease-in; }
.selected { left: -20px; }
Gracias, esto me ayudó. Note 'if (Session.get (" selected_item ") === this.data._id)' no funcionó para mí; Tuve que modificar la función 'rendered' para incluir una línea como esta en su lugar:' $ ('#' + Session.get ("selected_item")). AddClass ("selected") '. –
@TimBartsch No puedo encontrar 'Meteor.defer()' de los documentos. ¿Qué hace? –
Hay una solución como esta:
<template name="foo">
..content..
{{bar}}
</template>
En este caso Meteor llamará Template.foo.bar
cada vez que esta plantilla se rindió. Por lo tanto, dentro de esta función puede realizar todo tipo de animaciones de Jquery o CSS3 (por ejemplo, agregando una clase al div de plantillas).
un ejemplo aquí hubiera sido genial. (observe cómo los votos arriba para "pregunta útil" son mucho más que "la respuesta es útil"). Tal vez puedas actualizar tu respuesta? –
Para transiciones CSS, hay dos opciones que puede ir con:
1. Reactively: the Meteor way
2. Directly: the jQuery way
Aquí es un ejemplo de trabajo: http://bindle.me/blog/index.php/658/animations-in-meteor-state-of-the-game
- 1. ¿Los genéricos Can C# tienen un tipo base específico?
- 2. Transiciones de CSS, las animaciones tienen un rendimiento terrible, comportamiento
- 3. Migración de los cambios de la base de datos del desarrollo a vivo
- 4. Meteor: ¿se actualiza automáticamente el lienzo con los datos suscritos?
- 5. ¿Cómo obtengo una transmisión en vivo de los deltas de la colección Meteor, para usar fuera de una aplicación web?
- 6. ¿Qué sucede cuando guardo los cambios en web.config con una aplicación en vivo?
- 7. ¿Es posible enumerar todos los archivos que tienen cambios locales en IntelliJ IDEA (fuera de la vista de "Cambios")
- 8. La plantilla sigue redibujando, a pesar de que no haya cambios en los datos subyacentes
- 9. En Eclipse, los cambios de mi código fuente no tienen efecto
- 10. Sesiones persistentes en Meteor
- 11. ¿Cómo recibe Meteor las actualizaciones de los resultados de una consulta MongoDB?
- 12. Intellij IDEA Can not Undo
- 13. Cómo implementar cambios en la base de datos en un servidor en vivo?
- 14. ¿JQuery en vivo ralentiza los sitios web?
- 15. ¿Es posible el uso de can-can con clase dos
- 16. Sincronización de estilo Etherpad en Meteor?
- 17. Notificación de actualización en vivo sobre cambios en la base de datos MYSQL PHP
- 18. ¿Los colaboradores tienen acceso de confirmación en GitHub?
- 19. cursor.observe ({added}) comportamiento en Meteor
- 20. rieles Can Can Capacidad de clase para múltiples modelos Idear
- 21. clasificación en vivo de JTable
- 22. Haciendo cambios en un sitio en vivo (Codeigniter, pero no es específico para él)
- 23. Uso de SVN con un sitio web en vivo y en vivo
- 24. Escalar una aplicación Meteor en Heroku
- 25. Pedido de los archivos css y js cargados por Meteor
- 26. Detener la propagación de eventos en Meteor
- 27. Edición en vivo de la entrada de los usuarios
- 28. Meteor File Uploads
- 29. Meteor Template, ¿de dónde viene?
- 30. Dependiendo de los cambios pendientes en TFS
1 interesante, esto probablemente sea ll requerirá algunos cambios de implementación. –