experiment_id: web-retrieval-v1
fixture_id: /docs/integrations/js-frameworks-&-libs/vue
mode: provenance
representation: html
origin_response_id: 26fcb2ca4a50b1850a5a7db85b873e57
version: 2026-10-21
version_created_at_utc: 2026-10-21T20:42:35.732Z
version_nonce: 69f0b753541df8ca5b8a12b0d31221b1
generated_at_utc: 2026-11-15T00:04:45.750Z
response_nonce: f2a65499b80625311efa070b7bc15b0c
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]