При добавлении кода v-if="isOwner" должно скрывать кнопку (редактировать страницу)а у меня перестала загружаться?

вот само мод окно
<template>
  <v-row justify="center">
    <v-dialog v-model="modal" persistent max-width="400">
      <template v-slot:activator="{ on, attrs }">
        <v-btn class="warning" v-bind="attrs" v-on="on">Edit</v-btn>
      </template>
      <v-card>
        <v-container>
          <v-layout row>
            <v-flex xs12>
              <v-card-title>
                <h1 class="text--primary">Edit ad</h1>
              </v-card-title>
            </v-flex>
          </v-layout>
          <v-divider></v-divider>
          <v-layout row>
            <v-flex xs12>
              <v-card-text>
                <v-text-field name="title" label="Title" type="text" v-model="editedTitle"></v-text-field>
                <v-text-field
                  name="description"
                  label="Description"
                  type="text"
                  multi-line
                  v-model="editedDescription"
                ></v-text-field>
              </v-card-text>
            </v-flex>
          </v-layout>
          <v-divider></v-divider>
          <v-layout row>
            <v-flex xs12>
              <v-card-actions>
                <v-spacer></v-spacer>
                <v-btn @click="onCancel">Cancel</v-btn>
                <v-btn class="success" @click="onSave">Save</v-btn>
              </v-card-actions>
            </v-flex>
          </v-layout>
        </v-container>
      </v-card>
    </v-dialog>
  </v-row>
</template>

<script>
export default {
  props: ["ad"],
  data() {
    return {
      modal: false,
      editedDescription: this.ad.description,
      editedTitle: this.ad.title,
    };
  },
  methods: {
    onCancel() {
      this.editedDescription = this.ad.description;
      this.editedTitle = this.ad.title;
      this.modal = false;
    },
    onSave() {
      if (this.editedDescription !== "" && this.editedTitle !== "") {
        this.$store.dispatch("updateAd", {
          title: this.editedTitle,
          description: this.editedDescription,
          id: this.ad.id,
        });

        this.modal = false;
      }
    },
  },
};
</script>

При добавлении кода v-if="isOwner" должно скрывать кнопку (редактировать страницу) для не зарегистрированных пользователей, а у меня перестала загружаться эта страница. вот ссылка на https://vuevlad.web.app/ad/-MGDAVMNA5WOU44pMm2L[введите сюда описание ссылки]1

<template>
  <v-container>
    <v-layout row>
      <v-flex xs12>
        <v-card v-if="!loading">
          <v-img :src="ad.imageSrc" height="300px"></v-img>
          <v-card-text>
            <h1 class="text--primary">{{ad.title}}</h1>
            <p>{{ad.description}}</p>
          </v-card-text>
          <v-card-actions>
            <v-spacer></v-spacer>
            <addEditAdModal :ad="ad" v-if="isOwner"></addEditAdModal>
            <app-buy-modal :ad="ad"></app-buy-modal>
          </v-card-actions>
        </v-card>
        <div v-else class="text-xs-center">
          <v-progress-circular indeterminate :size="100" :width="4" color="purple"></v-progress-circular>
        </div>
      </v-flex>
    </v-layout>
  </v-container>
</template>

<script>
import EditAdModal from "./EditAdModal";

export default {
  props: ["id"],
  computed: {
    ad() {
      const id = this.id;
      return this.$store.getters.adById(id);
    },
    loading() {
      return this.$store.getters.loading;
    },
    isOwner() {
      return this.ad.ownerId === this.$store.getters.user.id;
    },
  },
  components: {
    addEditAdModal: EditAdModal,
  },
};


Ответы (1 шт):

Автор решения: николай тамазенко

друзья ура, ответ был в добавлении вот этого

isOwner() {
      let user = this.$store.getters.user;
      return user && this.ad.ownerId === this.$store.getters.user.id;
    },

→ Ссылка