将 Laravel 路由传递给 vue 组件
Posted
技术标签:
【中文标题】将 Laravel 路由传递给 vue 组件【英文标题】:Passing Laravel routes to vue components 【发布时间】: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 组件中使用,我正在做这样的事情......
有时编写所有这些路线并使用道具等会令人沮丧。
有没有更好的方法来做到这一点?
谢谢:)
【问题讨论】:
【参考方案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' 吗? 不同的事情有不同的路线。例如定义一个产品,定义产品的属性和......因此有不同的路线具有唯一的名称。以上是关于将 Laravel 路由传递给 vue 组件的主要内容,如果未能解决你的问题,请参考以下文章
Laravel + Vue - 将多维 PHP 数组传递给 vue 组件
如何将 Laravel 数据(json)传递给 Vue 组件