diff --git a/packages/alpinejs/src/lifecycle.js b/packages/alpinejs/src/lifecycle.js index 53d95bded..66b792468 100644 --- a/packages/alpinejs/src/lifecycle.js +++ b/packages/alpinejs/src/lifecycle.js @@ -93,17 +93,17 @@ export function initTree(el, walker = walk, intercept = () => {}) { // If the element has a marker, it's already been initialized... if (el._x_marker) return - // Add a marker to the element so we can tell if it's been initialized... - // This is important so that we can prevent double-initialization of - // elements that are moved around on the page. - el._x_marker = markerDispenser++ - intercept(el, skip) initInterceptors.forEach(i => i(el, skip)) directives(el, el.attributes).forEach(handle => handle()) + // Add a marker to the element so we can tell if it's been initialized... + // This is important so that we can prevent double-initialization of + // elements that are moved around on the page. + if (!el._x_ignore) el._x_marker = markerDispenser++ + el._x_ignore && skip() }) }) diff --git a/tests/cypress/integration/directives/x-ignore.spec.js b/tests/cypress/integration/directives/x-ignore.spec.js index 491bb3c8c..34c002302 100644 --- a/tests/cypress/integration/directives/x-ignore.spec.js +++ b/tests/cypress/integration/directives/x-ignore.spec.js @@ -27,7 +27,7 @@ test('x-ignore.self', } ) -test('can lazyload component', +test('can lazyload a component', html`