将Laravel路线传递给vue组件

时间:2018-01-11 09:00:35

标签: laravel vue.js blade vuex

我有一个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组件中使用,我正在做这样的事情......

有时写下所有这些路线并使用道具等会令人沮丧。

有更好的方法吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

你可以使用 Route :: getRoutes()这将以这种方式返回RouteCollection

$routeCollection = Route::getRoutes();

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

</router-view>
@endsection