Как использовать v-if из глобальной функции - PullRequest
0 голосов
/ 03 июля 2019

Это мой код компонента vue

<div v-if="$can('employee-create')" class="card-tools">
              <router-link to="/admin/addphonebook" class="btn btn-success">
                Add New
                <i class="fa fa-phone"></i>
              </router-link>
            </div>

Это файл resources / assets / js / mixins / Permissions.vue

export default {
methods: {
    $can(permissionName) {
        let route = window.routes.permission;
        axios.get(route+`/${permissionName}`)
            .then((resounse)=> {
                return true;
            })
            .catch((error)=> {
                return false;
            });
    },
},

};

Этоis resources / assets / js / app.js для импорта миксина

import Permissions from './mixins/Permissions';

Vue.mixin(Permissions);

Функция $ может вернуть значение true, но кнопка «Добавить новый» не показывает

v-if don 't получить возвращаемое истинное значение

Кто-нибудь может мне помочь?Заранее спасибо

1 Ответ

0 голосов
/ 03 июля 2019

@ Csaba Gergely решил вашу проблему.Когда вы получаете данные с сервера $, метод can может возвращать значение true один раз в секунду или меньше, но после вызова $ может сталь возвращать значение false.Вы можете создать переменную с именем success и сохранить результат вызова axios.

Должно быть что-то вроде этого

<div v-if="success" class="card-tools">
              <router-link to="/admin/addphonebook" class="btn btn-success">
                Add New
                <i class="fa fa-phone"></i>
              </router-link>
            </div>

export default {
data(){
 return {
    success:false
  }
},
methods: {
    $can(permissionName) {
        let route = window.routes.permission;
        axios.get(route+`/${permissionName}`)
            .then((resounse)=> {
                this.success = true;
                //return true;

            })
            .catch((error)=> {
                this.success = false;
               //return false;
            });
    },
},

PS Bocsi @Csaba Gergely, ha elhappoltam eloledкердер: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...