VueJS variable inside URL::action in Laravel


VueJS variable inside URL::action in Laravel

我是VueJS的新手。

我有一个使用拉拉维尔助手的链接:

<a href="{!!   URL::action('TournamentController@edit',  $tournament->id) !!}">{{ $tournament->id }}</a>

由于它将在 VueJS v-for 中,现在我需要引用我用 AJAX 加载的 Vue 变量。

所以,我试着这样写:

<a href="{!!   URL::action('TournamentController@edit',  @{{ tournament.id }} ) !!}">@{{ tournament.id }}</a>

但我得到

Parse error: syntax error, unexpected '{' (View: /home/vagrant/Code/resources/views/tournaments/index.blade.php)

知道如何混合Laravel Helper和VueJS吗?

首先,看起来你在@{{ tournament.id }}周围缺少引号。

但是在自己玩了一下之后,由于路线使用与占位符相同的括号,目前似乎是不可能的。

解决方法是在某处创建一个简单的函数,该函数使用唯一占位符生成 url,然后对生成的 url 执行str_replace调用。

这是我不喜欢帮助程序的东西,我已经完全停止使用它们。恕我直言,最好的方法是为此(或 Route::controller)创建一个路由并将这些 url 映射到控制器。然后使用类似以下内容:

<a href="{{url('tournament/edit')}}/@{{ tournament.id }}">@{{ tournament.id }}</a>

您的路线可能是这样的:

Route::controller('tournament','TournamentController');

以及控制器内部的功能:

function getEdit($tournament_id){
   // something something
}

这样的事情会起作用