experiment_id: web-retrieval-v1
fixture_id: /docs/integrations/js-frameworks-&-libs/vue
mode: provenance
representation: html
origin_response_id: 66e67f62dc59e73aaae22b39eee5510b
version: 2026-10-21
version_created_at_utc: 2026-10-21T20:42:35.732Z
version_nonce: 69f0b753541df8ca5b8a12b0d31221b1
generated_at_utc: 2026-10-25T17:30:42.387Z
response_nonce: 3cf6c947bbcf1e69768ef7127dc35275
Docs Version 1

Vue Integration

ZingGrid works with your development stack, including Vue! In this guide, we'll walk you through how to add ZingGrid to your Vue project.

Usage

  1. Include the following dependencies in the header of your index.html file:

    <script src="path/to/zinggrid.min.js" defer></script>

    OR

    Download ZingGrid from npm using npm i zinggrid and import that package to your main.js file or .vue component file:

    // optional ZingGrid npm import header
    import ZingGrid from 'zinggrid';
  2. Add a <zing-grid> tag inside your render() function, like so:

    <zing-grid ref="helloWorld" caption="Hello Doggos" :data.prop="datastore" loading></zing-grid>
  3. Initialize data in mounted() function, like so:

    data() {
      return {
        // model for datastore
        datastore: [
          {
            "breed": "Dachshund",
            "name": "Sousage"
          },
          {
            "breed": "Corgi",
            "name": "Plop"
          },
          {
            "breed": "Pomeranian",
            "name": "Floof"
          }
        ]
      };
    }
  4. Add styles (Optional). Note: You must use deep selectors when using scoped styles.

<style scoped>
    zing-grid >>> zg-row { ... }
  </style>

Vue Integrated Grid

Here is our complete grid that is successfully integrated with Vue:

Top

[integrations: vue]