Данные не извлекаются в компоненте Vue с использованием инерции laravel9

я загружаю меню и подменю из базы данных в компонент Vue, используя laravel9 Inertia vue3 vit3
вот мой компонент Vue. Я попробовал console.info, не отображающий никаких данных для боковой панели. Как я могу загрузить свою категорию и подкатегорию на боковой панели? компоненты существуют в каталоге Ресурсы/JS/Страницы/Администратор/Общие/Sidebar.vue

<template>

</template>

в настройках реквизита console.info не дает значений. в контроллере я проверил, что значения отображаются правильно, используя dd ($ sidebar)

<script>
  import { ref } from 'vue';
  import { Link } from '@inertiajs/inertia-vue3';

  export default {
    name: 'Sidebar',
    props: {
      sidebar: {
        type: Array,
        required: true,
      },
      isDarkMode: {
        type: Boolean,
        default: false,
      },
    },
    setup(props) {
      console.info(props.sidebar);
      const state = {
        openCategories: ref([]),
      };

      const toggleCategory = (categoryId) => {
        if (state.openCategories.value.includes(categoryId)) {
          state.openCategories.value = state.openCategories.value.filter((id) => id !== categoryId);
        } else {
          state.openCategories.value = [...state.openCategories.value, categoryId];
        }
      };

      return {
        state,
        toggleCategory,
      };
    },
  };
</script>

вот мой контроллер, он будет передавать массив боковой панели компоненту

<?php
namespace App\Http\Controllers;

use App\Models\Sidebar;
use Illuminate\Http\Request;
use Inertia\Inertia;

class SidebarController extends Controller
{
    public function index()
    {
        $sidebar = Sidebar::with('subcategories')->whereNull('parent_id')->get();
          // dd($sidebar->first());

       return Inertia::render('Admin/Index', [
            'sidebar' => $sidebar,
            'isDarkMode' => false,
        ]);


    }
}

Что это, dd($sidebar->first()); показало? были ли данные представлены на стороне сервера, как ожидалось?

Hovercraft Full Of Eels 15.04.2023 18:44

да, сэр, данные сбрасываются, пока я делаю дд

amit 15.04.2023 18:49
ibb.co/Pw4LFFx
amit 15.04.2023 18:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что вы пытаетесь отобразить неправильный компонент «Администратор/индекс» в вашем контроллере. Файл компонента «Боковая панель» должен быть index.vue в папке администратора, если нет, вам нужно привязать свои данные к компоненту «Боковая панель» из Admin/Index.vue.

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

пожалуйста, обратитесь к Общие данные если интересно:

определение реквизита было проблемой в инерции vit3 vue3, теперь она решена. спасибо за ценную помощь.

amit 29.04.2023 05:49

Другие вопросы по теме