Я новичок в 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?
Прежде всего, похоже, что вы упускаете кавычки вокруг @{{ tournament.id }}
,
Но после того, как я поэкспериментировал с этим сам, в настоящий момент это кажется невозможным из-за того, что маршруты используют те же скобки, что и заполнители.
Обходной путь может заключаться в создании простой функции где-нибудь, которая генерирует URL с уникальным заполнителем, а затем вы делаете str_replace
позвоните по сгенерированному URL.
Это то, что мне не нравится в помощниках, и я полностью перестал их использовать. IMHO, лучший способ — создать маршрут для этого (или Route :: controller) и отобразить эти URL на контроллер. а затем использовать что-то вроде:
<a href="{{url('tournament/edit')}}/@{{ tournament.id }}">@{{ tournament.id }}</a>
Ваши маршруты могут быть что-то вроде:
Route::controller('tournament','TournamentController');
и ваша функция внутри контроллера:
function getEdit($tournament_id){
// something something
}
И что-то вроде этого будет работать