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