W międzyczasie cała dokumentacja meteorów stwierdza, że onRendered
jest nowym sposobem uzyskania wywołania zwrotnego po zakończeniu renderowania szablonu. i rendered
służy jedynie do kompatybilności wstecznej.Meteor.js onRendered & renderowany
Jednak to po prostu nie działa dla mnie. onRendered
nigdy nie zostanie wykonany, natomiast rendered
ma. Mam najnowsza wersja Meteor 1.1.0.2
//only this is executed
Template.hello.rendered = function(){
console.log('rendered');
}
//and this is not
Template.hello.onRendered = function(){
console.log('onRendered');
}
//even if I comment first one out
i obie funkcje w akcji można zobaczyć w tym github repo. Czy robię coś nie tak, lub jest to usterka onRendered?
i drugie pytanie - powód dla którego zacząłem się nad tym zastanawiać - w jaki sposób mogę wykonać kod za każdym razem, gdy element dom jest dodawany/usuwany do mojego szablonu? rendered
nie wydaje się być wywoływany, gdy tak się stanie. Czy jest jakiś inny sposób?
spróbuj za chwilę. I drugie pytanie? –
@MartinsUntals można użyć zagnieżdżonego szablonu zawierającego dom, który został usunięty i dodane z onRendered callback na nim. Lub możesz użyć haków Ui, jeśli próbujesz uruchomić animację (demo: https://github.com/RainHaven/meteor-ui-hooks-demo/blob/master/simple-todos.js#L45- L62) – Akshat
zagnieżdżony szablon działa! –