如何将Vue.js变量传递给Laravel Blade路由助手

时间:2019-10-07 23:24:40

标签: laravel vue.js laravel-blade

例如,我的模板中有一个指向此类其他帖子的链接

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>

我希望能够使用路由助手中的post对象来使用ID。

此用例是否有语法?

或者还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

实际上,我有类似的问题来解决这种情况。您的问题与Vue完全相关,但是下面的方法也可以用于您的案例。无论如何,您不能同时执行JS和PHP,因为它们在不同的方面工作。但是,由于我也喜欢让所有路由都带有别名,所以我想这种方法..您可以模仿这样的东西:

Route::get('/', 'PostController@all')->name('all'); // all posts page
Route::get('post', 'PostController@all')->name('all_page'); // THIS IS THE THING (one additional route), WHICH WILL TAKE RESPONSIBILITY ON CASE, WHEN post_id WILL BE EMPTY
Route::get('post/{post_id}', 'PostController@post')->name('post');

此方法将允许您像平常一样使用第一和第三条路线,并且在应用程序的不同位置也可以这样使用:

{{ route('post.all') }}
{{ route('post', ['post' => $post_id]) }}
{{ route('post') }}/@{{ post.id }}

在脚本中,您可以实现以下方法:

let someUrl = "{{ route('post') }}/" + postObj.id;

在视图中,您可以实现以下方法:

<a href="{{ route('post') }}/@{{ post.id }}">My post @{{ post.id }}</a>