vue-instance-changes-dom

Demonstrates how Vue changes the DOM after creating a new Vue instance

by herbergt

HTML

<!doctype html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <div data-cmp-is="image" data-cmp-src="/content/my-app/test-image/_jcr_content/root/responsivegrid/image.coreimg.85{.width}.jpeg/1603839376404/tablet.jpeg" data-cmp-widths="400,500,600,1000,1200" data-asset="/content/dam/myapp/homepage-banner/tablet-goloud.jpg" data-title="text" class="cmp-image" itemscope="" itemtype="http://schema.org/ImageObject">
        <noscript data-cmp-hook-image="noscript">

          <img src="/content/my-app/test-image//_jcr_content/root/responsivegrid/image.coreimg.jpeg/1603839376404/tablet.jpeg" class="cmp-image__image" itemprop="contentUrl" data-cmp-hook-image="image" alt="text" />

        </noscript>
      </div>
    </div>
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> 
  </body>

</html>

JavaScript

const elBeforVueIntance = document.getElementsByTagName("noscript")[0];
console.log(elBeforVueIntance.textContent);

const app = new Vue({
  el: "#app",
});
const elAfterVueInstance = document.getElementsByTagName("noscript")[0];
console.log(elAfterVueInstance.textContent);