Как передать Laravel редактируемые настройки на Vue - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть некоторые настройки в моем приложении, которые могут быть изменены администратором (например, категории продуктов, которые каждый пользователь может выбрать при создании нового продукта). Я храню их в таблице «настройки» базы данных, которая состоит из столбцов «имя» и «значение».

Я также добавил поставщика услуг, который добавляет эти настройки в конфигурацию и кэширует их. Я могу легко получить к ним доступ из Laravel, но не из внешнего интерфейса (используя Vue).

Есть ли способ получить доступ к Laravel значениям конфигурации из Vue? Я пытался этот ответ , но безуспешно. Должен ли я сделать запрос настроек при каждом вызове API?

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Не знаю, правильно ли я понимаю ваш вопрос, но ...

Laravel конфигурации являются частью бэкэнда. Единственный способ получить к ним доступ на внешнем интерфейсе - передать их ему.

Если нет какой-то хитрой хитрости, о которой я не знаю, приложение Vue. js, которое загружается и запускается на на стороне клиента, у вас не будет доступа к вашим конфигурациям на стороне сервера - если только что-то не скажет, что это затянет их во время компиляции, о которых я не знаю, что в лучшем случае показалось бы мне рискованным.

Но, вообще говоря, приложение без клиентского приложения на стороне клиента не может получить доступ к данным на стороне сервера, если сервер не скажет «здесь клиент, получите эти данные».

Например,

class MyApiController extends Controller
{
    function getThisConfig()
    {
          return config('this');
    }
}

С:

Route::get('/api/config/this', ['uses' => 'MyApiController@getThisConfig']);

А затем ваше приложение Vue. js отправляет запрос AJAX на /api/config/this.

1 голос
/ 10 февраля 2020

Если ваш параметр является динамическим c, вы должны запрашивать их каждый раз при вызове API.

Если нет, вы можете получить эти настройки один раз при развертывании внешнего кода.

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