Intentando unir accesorios a v-model

Estoy usando vuetify.js e intento crear un componente que pueda ser reutilizable en la aplicación. Aunque está funcionando absolutamente bien, pero no estoy seguro de si es la forma correcta.

Estoy creando un componente de cajón de navegación que tiene las mismas opciones de menú todo el tiempo pero se puede abrir desde los elementos de la interfaz de usuario.

Debajo está el código.

// NavigationBar.vue

<template>
  <v-navigation-drawer
    temporary
    v-model="drawerFlag"
    light
    overflow
    fixed
  >
    <v-list>
      <v-list-tile>
        <v-list-tile-action @click.stop="toggleDrawer()">
          <v-btn icon>
            <v-icon>close</v-icon>
          </v-btn>
        </v-list-tile-action>
      </v-list-tile>
    </v-list>
    <v-list class="pt-0">
      <template v-for="item in items">
        <v-list-tile :key="item.title" :to="item.link">
          <v-list-tile-action>
            <v-icon>{{ item.icon }}</v-icon>
          </v-list-tile-action>
          <v-list-tile-content>
            <v-list-tile-title>{{ item.title }}</v-list-tile-title>
          </v-list-tile-content>
        </v-list-tile>
        <v-divider></v-divider>
      </template>
    </v-list>
  </v-navigation-drawer>
</template>

<script>
  export default {
    props: ['drawer'],
    data() {
      return {
        items: [
          { title: 'Home', icon: 'home', link: '/home'},
          { title: 'History', icon: 'history', link: '/history' },
          { title: 'Wallet', icon: 'account_balance_wallet', link: '/wallet' },
          { title: 'My Profile', icon: 'person', link: '/profile' },
          { title: 'Settings', icon: 'settings', link: '/settings' },
          { title: 'About', icon: 'error', link: '/about' },
          { title: 'Logout', icon: 'power_settings_new', link: '/logout' },
        ]
      };
    },
    computed: {
      drawerFlag: {
        get: function() {
          return this.drawer
        },
        set: function() {

        }
      }
    },
    methods: {
      toggleDrawer: function() {
        this.$emit('emitToggleDrawer');
      }
    }
  }
</script>

//Home.vue

<template>
  <div class="full-screen">
    <navigation-bar :drawer="drawer" v-on:emitToggleDrawer="toggleDrawer"></navigation-bar>
    <v-btn icon class="mt-3 fixed-position" @click.stop="drawer = !drawer">
      <v-icon>menu</v-icon>
    </v-btn>
  </div>
</template>

<script>
  export default {
    name: 'home',
    data() {
      return {
        drawer: null
      };
    },

    computed: {
      user() {
        return this.$store.getters.user;
      }

    },

    methods: {
      toggleDrawer: function () {
        this.drawer = !this.drawer;
      }
    }
  };
</script>

En el código anterior ...

En el componente primario, tengo un botón para abrir el cajón de navegación y el estado del cajón de navegación se mantiene en el componente primario llamado "cajón". Luego, paso "drawer" como accesorio al componente secundario y un método para activar un evento del componente secundario al componente primario llamado "emitToggleDrawer".

En el componente secundario, estoy usando vuetify.js navigation-drawer que toma v-model = "drawerFlag", donde drawerFlag es una propiedad calculada. Cuando traté de usar v-model = "drawer", es decir, al vincularme al accesorio, recibí un error. Luego podemos cerrar el cajón de navegación haciendo clic en un elemento dentro del cajón de navegación. Para lograr eso, estoy llamando a un método del componente que luego emite un evento que es escuchado por el componente principal.

Respuestas a la pregunta(2)

Su respuesta a la pregunta