我正在使用装饰器来制作一些滑块,如下所示:
content = new Ractive({
el: '.wrapper',
template: templates.wrapper,
partials: templates,
data : { ... },
decorators: {
carousel: function( node )
{
console.log( 'carousel init' );
carousel = $( node ).owlCarousel({
items: 1,
navigation: false
});
return {
teardown: function () {
console.log( 'carousel destroy' );
carousel.trigger('destroy.owl.carousel').removeClass('owl-carousel owl-loaded');
carousel.find('.owl-stage-outer').children().unwrap();
}
}
}
}
}
正如您在日志中看到的那样,当在具有inited
轮播的模板与另一个具有此装饰器的模板之间交换时,第一个装饰器teardown
正在在新模板的装饰器为initiated
后触发,因此第二个模板上的轮播获取torn down
而不是第一个模板中的轮播。
我做错了吗?谢谢!
我在这里制作了一个jsfiddle:https://jsfiddle.net/05sq8o2k/6/
如果您收到警告,请务必点按load unsafe scripts
,因为ractivejs
cdn不支持https
,因为我现在可以看到,所以jsfiddle有点不同意。
答案 0 :(得分:1)