After slide data is changed, using the method specified in your documentation, most times the view is still being updated when slick is initialized (when ng-if is set to true from false). The view still contains the old data and it causes slick to hold on to the previous data while adding new data, especially with ng-repeat.
I can see that you delayed the slick init using $timeout in your example implementation. You need to mention this in your documentation or change the directive to include a $timeout before initialization.

Keep up the good work!
After slide data is changed, using the method specified in your documentation, most times the view is still being updated when slick is initialized (when ng-if is set to true from false). The view still contains the old data and it causes slick to hold on to the previous data while adding new data, especially with ng-repeat.
I can see that you delayed the slick init using $timeout in your example implementation. You need to mention this in your documentation or change the directive to include a $timeout before initialization.
Keep up the good work!