浏览代码

Bug Fix: "nextIndex" should've been reset on destroy.

NaotoshiFujita 5 年之前
父节点
当前提交
4ff38b916f
共有 4 个文件被更改,包括 11 次插入6 次删除
  1. 7 5
      dist/js/splide.js
  2. 0 0
      dist/js/splide.min.js
  3. 二进制
      dist/js/splide.min.js.gz
  4. 4 1
      src/js/components/lazyload/index.js

+ 7 - 5
dist/js/splide.js

@@ -1481,13 +1481,10 @@ function () {
     this.State.set(MOUNTED);
     each(this.Components, function (component) {
       component.mounted && component.mounted();
-    }); // Breakpoints can destroy the Splide.
-    // if ( ! this.State.is( STATES.DESTROYED ) ) {
-
+    });
     this.emit('mounted');
     this.State.set(IDLE);
-    this.emit('ready'); // }
-
+    this.emit('ready');
     applyStyle(this.root, {
       visibility: 'visible'
     });
@@ -4831,7 +4828,11 @@ var SRC_DATA_NAME = 'data-splide-lazy';
      * Called when the component is mounted.
      */
     mount: function mount() {
+      var _this = this;
+
       Splide.on('mounted refresh', function () {
+        _this.destroy();
+
         Components.Elements.each(function (Slide) {
           each(Slide.slide.querySelectorAll("[" + SRC_DATA_NAME + "]"), function (img) {
             if (img && !img.src) {
@@ -4861,6 +4862,7 @@ var SRC_DATA_NAME = 'data-splide-lazy';
      */
     destroy: function destroy() {
       images = [];
+      nextIndex = 0;
     }
   };
   /**

文件差异内容过多而无法显示
+ 0 - 0
dist/js/splide.min.js


二进制
dist/js/splide.min.js.gz


+ 4 - 1
src/js/components/lazyload/index.js

@@ -89,6 +89,8 @@ export default ( Splide, Components, name ) => {
 		 */
 		mount() {
 			Splide.on( 'mounted refresh', () => {
+				this.destroy();
+
 				Components.Elements.each( Slide => {
 					each( Slide.slide.querySelectorAll( `[${ SRC_DATA_NAME }]` ), img => {
 						if ( img && ! img.src ) {
@@ -112,7 +114,8 @@ export default ( Splide, Components, name ) => {
 		 * Destroy.
 		 */
 		destroy() {
-			images = [];
+			images    = [];
+			nextIndex = 0;
 		},
 	};
 

部分文件因为文件数量过多而无法显示