afterRender works with template bindings, but after converting my templates to components, there does not seem to be any way to use afterRender. I have tried looking for an example of a component that uses afterRender, but cannot find anything.
I could not get the method working as per the above post. However i found a workaround on the git issue list and it doesn't require a custom KO Binding.
Add the below line in your component template html or string of code.
<span data-bind="template: { afterRender: init }"></span> Then create a init function in your module / viewModel:
this.init = function() { Do cool DOM stuff here. } or depending on your viewModel structure:
viewModel: function(params) { return { init: function () { } }; }, Works like a charm. Example of it working is here
http://jsfiddle.net/gLcfxkv6/1/
Thread on knockout git here: https://github.com/knockout/knockout/issues/1533
Thanks to vamps on git for the workaround.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With