【问题标题】:Passing Laravel routes to vue components将 Laravel 路由传递给 vue 组件
【发布时间】:2018-06-20 13:12:25
【问题描述】:

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

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

有没有更好的方法来做到这一点?

谢谢:)

【问题讨论】:

    标签: laravel vue.js blade vuex


    【解决方案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
    

    【讨论】:

    • 感谢您的回答!但是有一点我忘了提,那就是道具(prop1,2,3 ...)是实际名称...例如:名称,动作,productUrl和...)我该如何处理?
    • 你能在这里定义什么是 'name, productUrl' 吗?
    • 不同的事情有不同的路线。例如定义一个产品,定义产品的属性和......因此有不同的路线具有唯一的名称。
    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 2020-04-03
    • 2019-10-07
    • 1970-01-01
    • 2021-11-06
    • 2021-01-21
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多