Я добавил набор функций в
Vue.prototype.elantana = require("./shared/elantana.js").default;
в моем main.js;поскольку мне нужны только эти функции, мое приложение.
Доступ к этому набору функций - это очень просто.Я передаю объект this в качестве параметра для доступа к объекту vue
<div v-if="elantana.CheckPermission(this, 'fabrics@add_fabric')">
<b-button class="float-button" variant="warning" @click="ShowEditModal">+</b-button>
</div>
Проблема возникает при запуске этой же функции в шаблоне компонента b-таблицы:
<b-table class="table-outline bg-white" :hover="true" :striped="false" :bordered="false" :small="false" :fixed="false" responsive="sm" :items="fabrics" :fields="tableFields" :current-page="currentPage" :per-page="perPage" head-variant="light">
<template slot="actions" slot-scope="data">
<div class="float-right">
<div v-if="elantana.CheckPermission(this, 'fabrics@edit_fabric')">
<b-button class="mr-2" type="button" size="sm" variant="danger" @click="ShowEditModal(data.item)"><i class="fa fa-trash-o"></i></b-button>
</div>
</div>
</template>
</b-table>
[Vue warn]: Ошибка при рендеринге: «Ошибка типа: Не удалось прочитать свойство« $ store »со значением NULL»
Это прототип функции
/**
* Returs if the permissions is in the avaialable permissions array
* @param {VUE object} vm
* @param {String} permission
* @return {Boolean}
*/
CheckPermission(vm, permission)
Я думалв обход проблемы с методом внутри компонента, действующим в качестве прокси для главной функции, или созданием реквизита в компоненте, который возвращает объект "this"
Любой способ использования объекта "this" внутри начальной загрузкиШаблон b-таблицы?