Неопределенная переменная Alpine.js: отправка
Я использую alpine.js
в моем приложении laravel 7.x. Я также используюLaravelCollective/html
чтобы построить очень простую форму. Идея здесь в том, что я пытаюсь изменитьhref
моего якорного тега на основе того, что select
ввод выбран. Я получаю следующую ошибку:Undefined variable: dispatch
Вот мой HTML/ код:
<div x-data="{ url: '{{ route('dogs', ['dog'=>$selectedDog]) }}' }" class="px-4 py-5 sm:p-6">
<div class="mt-2">
{{ Form::select('dogs', $dogs, null,
['class' => 'mt-1 sm:leading-5',
'x-on:change' => "$dispatch('selection-change', { value: $event.target.value })"]) }}
</div>
<div class="mt-6">
<span class="block w-full rounded-md shadow-sm">
<a
href="{{ route('dog', ['dog'=>$selectedDog]) }}"
x-bind:href="url"
x-on:selection-change.window = "alert('test');"
class="w-full">
Go to Dog
</a>
</span>
</div>
</div>
Изменение select
ввод должен вызвать x-on:selection-change.window
событие связано с window
объект в теге привязки. похоже, что это$dispatch
есть проблемы.
1 ответ
Решение
PHP видит $dispatch
и думая, что это переменная PHP, возможно, нужно избежать $
или используйте строки, где интерполяция не разрешена
Или:
- побег
$
:'x-on:change' => "\$dispatch('selection-change', { value: \$event.target.value })"
- использовать строку одинарной кавычки:
'x-on:change' => '$dispatch("selection-change", { value: $event.target.value })'