[英]How to pass Vue.js variable to Laravel Blade route helper
[英]Pass variable into Laravel {{ route }} helper
我有/admin/login
和/user/login
路由
我正在寻找两个视图以共享相同的布局文件,因此希望将第一段(管理员或用户)传递到路线帮助器中。
那可能吗?
如此有效,我希望做些类似的事情:
{{ route($thisIsDynamic.'.login') }}
其中$thisIsDynamic
将是admin
还是user
具体取决于URL。
仅路线可以包含路线名称。 如果要传递链接,则应使用URL ::
{{ URL::to($thisIsDynamic.'login') }}
根据我的理解,您可以尝试使用通配符,然后将数据传递到URL中,如下所示:
路线
Route::get('/login/{type}', function($type){
return view('login', compact('type'));
});
现在,您可以访问视图上的$type
变量。
现在,如果要访问路由,只需为其添加名称,然后在其上传递$type
。
当路由是动态的时,我不建议基于路由名称进行重定向。 但是,如果您真的想这样做,这就是您的做法。
Route::get('admin/login',"SomeController@someMethod")->name('admin-login');
Route::get('user/login',"SomeController@someMethod2")->name('user-login');
并且,每当您要通过名称传递时,都可以执行此{{ route("$thisIsDynamic-login") }}
。 但是,正如我所说,这不是正确的方法。 这是正确的方法。
Web.php
Route::get('{type}/login',function(){
return view('login')->with('type',$type);
});
login.blade.php (只是一个示例)
@extends('layout.you.want.to.extend')
@section('content')
@if($type == 'user')
// User login form
@else
// Admin login form
@endif
@endsection
我认为这就是您想要做的。 让我知道我是否误解了任何内容,或者您还有其他疑问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.