将 Laravel 路由传递给 vue 组件

Passing Laravel routes to vue components

我有一个 index.blade.php 并且我在这个视图中包含了 vue 代码。 在正常情况下,我们会像这样通过 laravel 路线:

<a href="{{route('some-route')}}"> Link </a>

假设我在这个 index.blade.php 中有一个主 vue 组件,我现在正在做这个:

@section('body')
    <router-view
        {{-- Props --}}
        prop1  = "{{route('route1')}}"
        prop2  = "{{route('route2')}}"
        prop3  = "{{route('route3')}}"
        prop4    = "{{route('route4')}}"
        prop5    = "{{route('route5')}}"
        prop6    = "{{route('route6')}}"
        prop7    = "{{route('route7')}}"
        ...
    </router-view>
@endsection

我有很多路由想在我的 vue 组件中使用,我正在做这样的事情...

有时编写所有这些路线和使用道具等会令人沮丧

有更好的方法吗?

谢谢:)

您可以使用 Route::getRoutes() 这将 return RouteCollection 这样您可以

$routeCollection = Route::getRoutes();

@section('body')
<router-view
    {{-- Props --}}
@foreach(Route::getRoutes() as $key => $route)
    prop{{ $key }} = "{{ $route->getPath() }}"

</router-view>
@endsection