Переменная VueJS внутри URL :: action в Laravel

Я новичок в VueJS.

У меня есть ссылка с помощью Laravel Helpers:

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

Поскольку это будет внутри VueJS v-for, теперь мне нужно сослаться на переменные Vue, которые я загружаю с AJAX.

Итак, я попытался написать это так:

<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?

0

Решение

Прежде всего, похоже, что вы упускаете кавычки вокруг @{{ tournament.id }},

Но после того, как я поэкспериментировал с этим сам, в настоящий момент это кажется невозможным из-за того, что маршруты используют те же скобки, что и заполнители.

Обходной путь может заключаться в создании простой функции где-нибудь, которая генерирует URL с уникальным заполнителем, а затем вы делаете str_replace позвоните по сгенерированному URL.

0

Другие решения

Это то, что мне не нравится в помощниках, и я полностью перестал их использовать. IMHO, лучший способ — создать маршрут для этого (или Route :: controller) и отобразить эти URL на контроллер. а затем использовать что-то вроде:

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

Ваши маршруты могут быть что-то вроде:

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

и ваша функция внутри контроллера:

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

И что-то вроде этого будет работать

-1

По вопросам рекламы [email protected]